求出0~999999之间的所有“水仙花数”并输出
程序员文章站
2022-03-04 19:36:34
...
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
for (i = 0; i <= 999999; i++)
{
int count = 0;//count表示i的位数
int tmp = i;
int sum = 0;
while (tmp != 0)
{
count++;
tmp = tmp / 10;
}//计算出count
tmp = i;
while (tmp != 0)
{
sum = sum + pow((double)(tmp % 10), count);
tmp = tmp / 10;
}
if (sum == i)
{
printf("%d\n", i);//如果相等,则i就是水仙花数
}
}
return 0;
}
结果:
上一篇: Linux基本命令