解题思路:
若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 人评分
A+B for Input-Output Practice (III) (C语言代码)浏览:570 |
C语言训练-数字母 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:935 |
三角形 (C++代码)记忆化搜索浏览:1222 |
DNA (C语言代码)浏览:746 |
剪刀石头布 (C语言代码)浏览:1432 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1463 |
数列有序 (C语言代码)浏览:931 |
数列问题 (C语言代码)浏览:1020 |