【C语言】输出1--1000以内的水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身
可以由下面的代码实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Shuixianhua(int i)
{
for (i = 0; i < 1000; i++)
{
int sum = 0;
int tmp = i;
while (tmp)
{
sum = sum + pow(tmp % 10, 3);
tmp = tmp / 10;
}
if (i == sum)
{
printf("%d\n", i);
}
}
return 0;
}
int main()
{
int i = 0;
printf("1-1000的水仙花数为:\n");
Shuixianhua(i);
return 0;
}
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
还没有评论,来说两句吧...