编译方式 链接数学库 gcc shuixianhua.c -o shuixianhua -lm
有问题可以私信我的呀 谢谢亲们
//0-10000之间的水仙花数
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
//遍历0-10000之间的数字
for(int i=0;i<=10000;i++)
{
//判断i是否为自幂数
//1.计算i的位数
int n=1;
int tmp=i;
//用i每次/10如果>0 n++
while(tmp/10)
{
n++;
tmp=tmp/10;
}
//2.计算每一位的n次方之和
tmp=i;
int sum=0;
while(tmp)
{
sum+=pow(tmp%10,n);
tmp =tmp /10;
}
//3.判断
if(sum == i)
{
printf("i为水仙花数:%d\n",i);
}
}
return 0;
}