为什么n>3后,这样写就不管用了?是数太大了吗?求指教
#include<stdio.h>
int main()
{
int n,i,a,b,c,d,e,f,g;
scanf("%d",&n);
if(n==3)
{
for(i=100;i<1000;i++)
{
a=i/100;
b=i%100/10;
c=i%100%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d\n",i);
}
}
else if(n==4)
{
for(i=1000;i<10000;i++)
{
a=i/1000;
b=i%1000/100;
c=i%1000%100/10;
d=i%1000%100%10;
if(a*a*a+b*b*b+c*c*c+d*d*d==i)
printf("%d\n",i);
}
}
else if(n==5)
{
for(i=10000;i<100000;i++)
{
a=i/10000;
b=i%10000/1000;
c=i%10000%1000/100;
d=i%10000%1000%100/10;
e=i%10000%1000%100%10;
if(a*a*a+b*b*b+c*c*c+d*d*d+e*e*e==i)
printf("%d\n",i);
}
}
else if(n==6)
{
for(i=100000;i<1000000;i++)
{
a=i/100000;
b=i%100000/10000;
c=i%100000%10000/1000;
d=i%100000%10000%1000/100;
e=i%100000%10000%1000%100/10;
f=i%100000%10000%1000%100%10;
if(a*a*a+b*b*b+c*c*c+d*d*d+e*e*e+f*f*f==i)
printf("%d\n",i);
}
}
else if(n==7)
{
for(i=1000000;i<10000000;i++)
{
a=i/1000000;
b=i%1000000/100000;
c=i%1000000%100000/10000;
d=i%1000000%100000%10000/1000;
e=i%1000000%100000%10000%1000/100;
f=i%1000000%100000%10000%1000%100/10;
g=i%1000000%100000%10000%1000%100%10;
if(a*a*a+b*b*b+c*c*c+d*d*d+e*e*e+f*f*f+g*g*g==i)
printf("%d\n",i);
}
}
}
明白了,我搞错了,n=7时应该是7次方,谢谢了