杭电acm 2028题 看看哪不对啊?
答案:1 悬赏:10 手机版
解决时间 2021-03-24 08:37
- 提问者网友:我的未来我做主
- 2021-03-23 11:20
#include "stdio.h"
int main()
{
int n,i,m,j,max,a[100];
while(scanf("%d",&n)!=EOF){
max=0;m=1;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(max<a[i]) max=a[i];
m=m*a[i];
}
for(j=max;j<=m;j++){
for(i=0;i<n;i++){
if(j%a[i]!=0) break;
}
if(i==n) {printf("%d\n",j);break;}
}
}
return 0;
}
最佳答案
- 五星知识达人网友:过活
- 2021-03-23 11:42
你的做法没错,把类型换成__int64就过了
#include "stdio.h"
int main()
{
int n,i,a[100];
while(scanf("%d",&n)!=EOF){
__int64 max=0,m=1,j;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(max<a[i]) max=a[i];
m=m*a[i];
}
for(j=max;j<=m;j++){
for(i=0;i<n;i++){
if(j%a[i]!=0) break;
}
if(i==n) {printf("%I64d\n",j);break;}
}
}
return 0;
}
#include "stdio.h"
int main()
{
int n,i,a[100];
while(scanf("%d",&n)!=EOF){
__int64 max=0,m=1,j;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(max<a[i]) max=a[i];
m=m*a[i];
}
for(j=max;j<=m;j++){
for(i=0;i<n;i++){
if(j%a[i]!=0) break;
}
if(i==n) {printf("%I64d\n",j);break;}
}
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯