c语言最大公约数和最小公倍数


求两个数的最大公约数和最小公倍数。最大公约数用辗转相除法来算,用大的数除以小的数,如果余数不为零,将除数赋给被除数,余数赋给除数,再接着除。最小公倍数 =两数之积/最大公约数




运行结果:


#include

#include

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;

}

你可能感兴趣的:(c语言最大公约数和最小公倍数)