求两个数的最大公约数和最小公倍数。最大公约数用辗转相除法来算,用大的数除以小的数,如果余数不为零,将除数赋给被除数,余数赋给除数,再接着除。最小公倍数 =两数之积/最大公约数
运行结果:
#include<stdio.h>
#include<stdlib.h>
int greatestCommonMultiple(int number1,int number2);
int main(){
int number1,number2;
int g;
printf("/***计算最大公约数,最小公倍数***\n");
printf("请输入第一个较大的数:\n");
scanf("%d",&number1);
printf("请输入另一个数:\n");
scanf("%d",&number2);
g=greatestCommonMultiple(number1,number2);
printf("\n最小公倍数是:%d",number1*number2/g);
//最小公倍数 =两数之积/最大公约数
system("pause");
getchar();
}
int greatestCommonMultiple(int number1,int number2){
//最大公约数 ---可以用辗转相除来算
int reminder;
reminder=number1%number2;
while(reminder!=0){
number1=number2;
number2=reminder;
reminder=number1%number2;
//余数要先求一次,在循环里面进行交换赋值
}
printf("最大公约数是:%d",number2);
return number2;
}