题目链接
题目核心:寻找a,b,c三数的最小公倍数
代码示例:
#include<stdio.h>
int main(){
int a,b,c,n;
scanf("%d%d%d",&a,&b,&c);
if(a < b){
a = b;
}
if(a < c){
a =c;
}
n = a;
while(1){
if((n%a==0)&&(n%b==0)&&(n%c==0))
break;
else
n++;
}
printf("%d",n);
}
但是提交后,提示有33%的案例出错。

将源代码中的找a,b,c三数最大值,并将其赋值给n的代码段删除后,更改为n=1,再次提交,提示无误。

更改后的代码如下
#include<stdio.h>
int main(){
int a,b,c,n;
scanf("%d%d%d",&a,&b,&c);
n = 1;
while(1){
if((n%a==0)&&(n%b==0)&&(n%c==0))
break;
else
n++;
}
printf("%d",n);
}
本文探讨了通过迭代方式寻找三个整数的最小公倍数的算法实现。初始尝试中,采用找到三数中最大值作为起始点的方法存在缺陷,修改为从1开始迭代后,代码成功通过所有测试案例。
1万+

被折叠的 条评论
为什么被折叠?



