hdu 2010 水仙花数

水仙花数

 题目分析:

水仙花数也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

录入一个数字,分别拆下它的个位,十位,百位,计算三次方求和,观察是否与原数相同。

代码:

#include <iostream>
using namespace std;
int main()
{
    int m, n, count, i, t;


    while (scanf("%d%d", &m, &n) != EOF) {
        count = 0;

        for (i = m; i <= n; i++) {
            int sum = 0;
            t = i;
            while (t) {
                int t2 = t % 10;
                sum += t2 * t2 * t2;

                t /= 10; 
            }
            if (sum == i) {
                if (count > 0)
                    printf(" ");
                printf("%d", i);

                count++;
            }
        }
        if (count == 0)
            printf("no");
        printf("
");
    }
    system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/pcdl/p/12275361.html