您的位置:首页 > 编程语言 > C语言/C++

用C语言求出0~999之间的所有的“水仙花数”并输出

2018-01-27 13:29 1011 查看

什么是水仙花数呢?

在数论中,水仙花数也称自恋数,自幂数、阿姆斯壮数或阿姆斯特朗数,是指一个N位数,其各个数之N次方和等于该数。

例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:

153=1^3+5^3+3^3.。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#define N 999//可以自己定义寻找的范围
int main()
{
int i = 0;
int j = 0;

for (i = 0; i < 999; i++)
{
int sum = 0;
int tmp = 0;
int count = 1;
tmp = i;
while (tmp / 10)
{
count++;
tmp = tmp / 10;
}
tmp = i;
while (tmp)
{
sum = sum + pow((tmp % 10),count);
tmp = tmp / 10;
}
if (sum == i)
printf("%d ", i);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐