思路:最小公倍数是能同时整除两个数A,B的最小整数,可以慢慢从小到大寻找这个数:
- #include<stdio.h>
-
- int main()
- {
- int a, b;
- scanf("%d%d", &a, &b);
-
- for (int i = 1; ; i++)
- if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
- {
- printf("%d", i);
- break;//找到,退出
- }
-
- return 0;
- }
-
当然,上面这个方法简单,但是循环的次数较多,可以从a,b中的较大值开始查找,以优化算法:
- #include<stdio.h>
-
- int main()
- {
- int a, b;
- scanf("%d%d", &a, &b);
-
- if (a < b) //如果a<b,交换值,让a成为较大值
- {
- int temp;
- temp = a;
- a = b;
- b = temp;
- }
-
- for (int i = a; ; i++)
- if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
- {
- printf("%d\n", i);
- break;
- }
-
- return 0;
- }
-