这道题怎么写
大家知道这道题怎么写代码吗K (vjudge.net)
谢谢大家 https://vjudge.net/contest/514343/problemPrint/K 看样子是一道复杂的算法竞赛题 应该没多少组解,直接写个从100至999的(逐个筛,慢点),输出,打表(这个是另类解法)(之前有过csp比赛打过1个G的表的,结果直接0分) #include <stdio.h>
int main()
{
int m,n,i,a,b,c,d;
while(scanf("%d %d",&m,&n)!=EOF)
{
d = 0;
if(m>=100&&m<=n&&n<=999)
{
for(i=m;i<=n;i++)
{
a = i/100;
b = (i/10)%10;
c = i%10;
if(i == a*a*a+b*b*b+c*c*c)
{
d++;
if(d!=0)
{
printf("%d ",i);
}
}
}
if(d==0)
{
printf("no\n");
}
}
}
}
这是我的源代码,但是vjudge上说格式有误
我想知道这个格式错在哪?
小白是我 发表于 2022-9-11 18:06
#include
int main()
{
最后加一个return 0; 试试,有些编译器你定义了int main就必须返回一个int 你思路没问题就是不够细节#include <stdio.h>
int main()
{
int m, n, i, a, b, c, d;
while (scanf("%d %d", &m, &n) != EOF)
{
d = 0;
for (i = m; i <= n; i++)
{
a = i / 100;
b = (i / 10) % 10;
c = i % 10;
if (i == a * a * a + b * b * b + c * c * c)
{
if (d == 0)
{
printf("%d", i);
d++;
}
else
{
printf(" %d", i);
}
}
}
if (d == 0)
{
printf("no");
}
printf("\n");
}
return 0;
} 提示格式错误的时候多看看题目的要求
页:
[1]