微剋多資訊

 找回密碼
 註冊

Sign in with google

Google帳號登入

搜索
回覆 0則 瀏覽 17606篇
Line

最大公因數和最小公倍數

該用戶從未簽到

升級   100%

跳轉到指定樓層
主題
發表於 2009-12-19 16:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int 最大公因數(int 第一數,int 第二數);

int 最小公倍數(int 第一數,int 第二數);

int main(){
int 第一數,第二數;
printf("請輸入一數n");
scanf("%d",&第一數);
scanf("%d",&第二數);
printf("第一數為%dn",第一數);
printf("第二數為%dn",第二數);
printf("最大公因數=%dn",最大公因數(
第一數,第二數));
printf("最小公倍數=%dn",最小公倍數(
第一數,第二數));

printf("by 亂數n");
第一數=rand();
第二數=rand();
printf("第一數為%dn",第一數);
printf("第二數為%dn",第二數);
printf("最大公因數=%dn",最大公因數(
第一數,第二數));
printf("最小公倍數=%dn",最小公倍數(
第一數,第二數));

printf("by 隨機亂數n");
srand(time(NULL));
第一數=rand();
第二數=rand();
printf("第一數為%dn",第一數);
printf("第二數為%dn",第二數);
printf("最大公因數=%dn",最大公因數(
第一數,第二數));
printf("最小公倍數=%dn",最小公倍數(
第一數,第二數));

system ("pause");
return 0;
}

int 最大公因數(int 第一數,int 第二數){
//輾轉相除法
while((第一數*第二數)!=0){
第一數=第一數%第二數;
第二數=第二數%第一數;
}
if(第一數!=0){
return 第一數;
}else{
return 第二數;
}
}

int 最小公倍數(int 第一數,int 第二數){
int 相乘=第一數*第二數;

while((第一數*第二數)!=0){
第一數=第一數%第二數;
第二數=第二數%第一數;
}
if(第一數!=0){
return 相乘*第一數;
}else{
return 相乘*第二數;
}
}
樓主熱門主題
您需要登入後才可以回帖 登入 | 註冊

本版積分規則

小黑屋|Archiver|微剋多資訊(MicroDuo)

GMT+8, 2024-11-1 09:32

Discuz! X

© 2009-2023 Microduo

快速回覆 返回頂部 返回列表