最大公因数:找到两数之间的最小数,从最小的数开始向1遍历,最先得到的就是最大的因子
最小公倍数:思路一:两数之积再除以最大因子
思路二:从二者中最大的一个开始向两数之积遍历,即可得到最小公倍数
#includeint main() { int m, n,min; int i; scanf("%d%d",&m,&n); min = m > n ? n : m ; //条件运算符 for(i=min;i >= 1;i--) //公约数范围 { if(m % i == 0 && n % i == 0 ) //被两个数同时整除 { printf("最大公约数为:%d n",i); break; //若可整除,一定是最大,就break } } printf("最小公倍数为:%dn",m*n/i); return 0; }
运行结果如下:
用思路二求最小公倍数如下:
#includeint main() { int m,n,max; scanf("%d%d",&m,&n); int i; max = m >n ? m : n; for(i = max;i <= m*n;i++) { if(i % m == 0 && i % n == 0) { printf("最小公倍数为:%dn",i); break; } } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)