解题思路:优先比较输入的两个数的大小,从而可以比较方便地开始进行循环,大大减少了两个数的比较相关代码行数。
注意事项:两个for循环第一次找到最大公约数和最小公倍数之后要有break退出循环。
参考代码:
#include<stdio.h> int main() { int x, y, max, min; scanf("%d%d", &x, &y); min = x < y ? x : y; max = x > y ? x : y; for (int i = min; i > 0; i--) { if ((x % i == 0) && (y % i == 0)) { printf("%d ", i); break; } } for (int j = max; j < x * y + 1; j++) { if ((j % x == 0) && (j % y == 0)) { printf("%d", j); break; } } return 0; }
0.0分
1 人评分
Hello, world! (C语言代码)浏览:916 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:905 |
C语言程序设计教程(第三版)课后习题6.2 (C++代码)为什么回车不算字符浏览:1187 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:756 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:880 |
剪刀石头布 (C语言代码)浏览:752 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:577 |
【计算球体积】 (C语言代码)浏览:1102 |
矩阵加法 (C语言代码)浏览:1722 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:562 |