acm上2010题,结果对,就是提交不上,出现Compilation Error为什么啊

发布网友 发布时间:2024-10-22 17:10

我来回答

2个回答

热心网友 时间:2024-10-22 19:47

#include <stdio.h>
#include<math.h>
int main()
{
int m,n,fl,a,b,c,i;
int flag;
while(scanf("%d %d",&m,&n)==2)
{
fl=0;
flag=0;
for(i=m;i<=n;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;

if(i==pow(a*1.0,3.0)+pow(b*1.0,3.0)+pow(c*1.0,3.0))//加上转化,double调用明确,你是用C++提交的吧,如果是用G++提交就不会有问题
{
if(flag)putchar(' ');//防止PE
flag=1;
printf("%d",i);
fl=1;
}
}
if(fl==0)
printf("no");
printf("\n");
}
return 0;
}

热心网友 时间:2024-10-22 19:48

if(i==(int)(pow(a,3)+pow(b,3)+pow(c,3)) )这样改一下试试
因为pow的返回值是double,与整型比较可能有问题
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com