int is_number(int i)
{
//1.计算i的位数
int n = 1;//一个数至少是1位
int tmp = i;//在for循环中不可以在体内修改循环变量
int sum = 0;
//判断i是几位数
while (tmp / 10)
{
n++;
tmp /= 10;
}
//2.得到i的位数,求出n次方之和
tmp = i;
while (tmp)
{
sum += pow(tmp % 10, n);
tmp /= 10;
}
if (sum == i)
return 1;
else
return 0;
}
int main()
{
int i = 0;
for (i = 0; i < 100000; i++)
{
if (is_number(i))
{
printf("%d ", i);
}
}
return 0;
}
0-10000之间的水仙花数
原创
©著作权归作者所有:来自51CTO博客作者超级嘤熊的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
水仙花数
水仙花数两种方法
取模 #include 整型变量 水仙花数 for -
求0~10000的水仙花数--C语言
水仙花数
#include for循环 从0到1