例如:407=4×4×4+0×0×0+7×7×7。所以407就是一个特殊数。输入:正整数的位数n(n<=6)。
输出:所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:"No output.”;若存在,则从小到大进行输出。
#include<stdio.h>
int main()
{int m,n,i,j,s,t=1,k=0,t1,i1,j1;
scanf("%d",&n);
for(i=1;i<n;i++)t*=10;
for(i=t;i<10*t;i++)
{j=i;
s=0;
for(;j;j/=10)
{t1=j%10;
for(j1=t1,i1=1;i1<n;i1++)
j1*=t1;
s+=j1;
}
if(s==i)
{printf("%d\n",s); k++;}
}
if(!k)printf("No output\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-01-09
我给你说思路啊 代码自己写
重体重可以看出 这个三位数 实际上是等于
n=百位上的数的三次方+十位上的三次方+个位上的三次方 那么照推
四位数呢
难点就是 你该如何把这几位数提出来
嗯 如果这都不会 我无能为力 最后将每个 位数都写一个方法 通过判断不同的位数 调用不同的方法
重体重可以看出 这个三位数 实际上是等于
n=百位上的数的三次方+十位上的三次方+个位上的三次方 那么照推
四位数呢
难点就是 你该如何把这几位数提出来
嗯 如果这都不会 我无能为力 最后将每个 位数都写一个方法 通过判断不同的位数 调用不同的方法