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

原创 2016年05月30日 17:12:22


    “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3,则153是一个“水仙花数”。

    在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
    例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
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。

#include<stdio.h>
#include<stdlib.h>
void NarcissisticNumber()
{
    int num = 0;
    int hundred = 0;
    int ten = 0;
    int unit = 0;

    for (; num < 1000; num++)
    {
        hundred = num / 100;
        ten = (num - hundred * 100) / 10;
        unit = (num - hundred * 100 - ten * 10) / 1;
        if (num == hundred * hundred * hundred
            + ten * ten * ten
            + unit *unit *unit)
        {
            printf("%d    ", num);
        }
    }
    printf("\n");
}

int main()
{
    NarcissisticNumber();
    system("pause");
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

求100到999之间水仙花的个数

题目:打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数本身。     例如:153是一个 水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。 publi...

编写Java程序,计算100~999之间的全部“水仙花数”的平均值。

所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如153=1^3+5^3+3^3,故153是水仙花数。

6秒求出21 位的花朵数(水仙花数)

方法:砍掉小于21位的数,砍掉大于21位的数,对21位的数其中每个数字出现的次数进行比较相同则为花朵数。每一次用9的21次方依次试探,大于或小于21位的去掉,那么这里不仅仅去掉 了2个数,而是把大于这...

问题三十二: 输出100~999间的水仙花数。

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称: txt....

java 循环问题 大全 求2~100a之内的素数。求水仙花数:(1~1000)。有1、2、3、4四个数字,输出所有能组成的互不相同且无重复的三位数。打印空心菱形

1.求水仙花数:(1~1000) -->三位的水仙花数一共有多少个 4个   水仙花数:一个数各个位上的立方之和,等于本身。   例如: 153 = 1(3) + 5(3)+3(3) = 1+1...

【C语言】水仙花数,素数

一、基础知识 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153) 质数(prime number)又称素数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)