解题思路:
若a,b,c,m,k,i为任意正整数,且m等于a,b,c三数中最大的一个数,若k为a,b,c三数的最小公倍数,那么一定存在i使得 m*i 等于 k。
基于以上一点可以对暴力算法进行简单的优化。
参考代码:
#include using namespace std; int main() { int a,b,c,m,i=0; cin>>a>>b>>c; if(a>b) m = a; if(c>a) m = c; while(++i) if(!((m*i)%a)&& !((m*i)%b)&& !((m*i)%c)) break; cout<<m*i; return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:710 |
简单的a+b (C语言代码)浏览:723 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:585 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:601 |
【亲和数】 (C语言代码)浏览:503 |
A+B for Input-Output Practice (C语言代码)浏览:468 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1175 |
1128题解(返回值为数组的情况)浏览:474 |
关于float,double变量的几点说明浏览:1810 |