水仙花数又称阿姆斯特朗数。 求输入的数字是否为水仙花数 |
#include <stdlib.h> #include "oj.h" #include <math.h> using namespace std; // 功能:判断输入 nValue 是否为水仙花数 // 输入: nValue为正整数 // 输出:无 // 返回:如果输入为水仙花数,返回1,否则返回0 unsigned int IsDaffodilNum(unsigned int nValue) { int n = 0; unsigned int a = nValue; unsigned int b = a; while (a) { a /= 10; n++; } if (n<3) { return 0; } unsigned int add = 0; while (b) { int co = b % 10; add += pow(co,n); b /= 10; } if (add==nValue) { return 1; } return 0; }