#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 相乘*第二數;
}
} |