#include<stdio.h>
#include<math.h>
int chaiWei(int i,int n);
int main()
{
int n;
int i;
int c = 0;
for(n=3; ; n++) //检查3~无穷位的水仙花数,Ctrl+c 结束检查
{
for(i = pow(10,n)/10; i<pow(10,n); i++) //根据位数循环检查
{
c = chaiWei(i,n);
if(c == i)
{
printf("%d\n",i);
}
}
}
return 0;
}
int chaiWei(int i,int n) //拆分位数的函数,返回各个位n次幂之和
{
int d = pow(10,n);
int he = 0;
for(d;d>0;d/=10)
{
he += pow(i/d%10,n);
}
return he;
}
求水仙花数
最新推荐文章于 2021-10-27 23:11:27 发布