解题思路:
最大公约数一定小于或等于输入的两数中的更小数(当然肯定小于输入数字的更大数),最小公倍数一定大于或等于输入两数中的更大数。
所以先找出大的那个数,然后用for循环依次查找,找到后用break语句跳出循环即可。
注意事项:
参考代码:
#include<stdio.h> int main() { int m,n,i,max,j; //m,n:输入的数;i:最大公约数;j:最小公倍数 scanf("%d %d",&m,&n); //判断m,n中谁是最大值 max=m; if(m<n) { max=n; } //求最大公约数 for(i=max;i>=1;i--) { if(m%i==0&&n%i==0) { printf("%d ",i); break; } } //求最小公倍数 for(j=max;j<m*n+1;j++) { if(j%m==0&&j%n==0) { printf("%d\n",j); break; } } return 0; }
0.0分
9 人评分
printf基础练习2 (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:655 |
最长单词 (C语言代码)浏览:1392 |
C语言训练-求PI* (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:690 |
1009题解浏览:752 |
演讲大赛评分 (C语言代码)浏览:1641 |
Hello, world! (C语言代码)浏览:839 |
妹子杀手的故事 (C语言代码)浏览:1071 |
链表数据求和操作 (C语言代码)浏览:958 |