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,与整型比较可能有问题