求大神!! c语言编程,请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。

例如: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=百位上的数的三次方+十位上的三次方+个位上的三次方 那么照推
四位数呢
难点就是 你该如何把这几位数提出来
嗯 如果这都不会 我无能为力 最后将每个 位数都写一个方法 通过判断不同的位数 调用不同的方法

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网