//定义最大公因数的函数intmax_GongYinShu(int a,int b){/*最大公因数的算法
用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
*/if(a < b){int t = a;
a = b;
b = t;}//因为0不能做被除数while(b !=0){int w = a % b;//计算余数
a = b;//程序能执行到这里说明a除以b有余数 然后换位,再将余数和a比较 ,直到最后余数为0
b = w;}return a;//因为是求最大公因数,所以返回 a}//最小公倍数 函数intmin_GongBeiShu(int a,int b){/*
* 最大公倍数的算法
* 最小公倍数=两数的乘积/最大公约(因)数
*/return a * b /max_GongYinShu(a, b);}intmain(){int a, b,c, m, n;//定义所需的变量printf("请输入2个数\n");scanf_s("%d %d",&a,&b);
m =max_GongYinShu(a, b);
n =min_GongBeiShu(a, b);printf("最大公因数为%d\n", m);printf("最小公倍数为%d\n", n);}