标签:数字 输入 padding pad article family while 功能 pop
水仙花数又称阿姆斯特朗数。
水仙花数是指一个n 位数( n≥3 ),它的每一个位上的数字的n 次幂之和等于它本身。
(比如:1^3 + 5^3 + 3^3 = 153)
求输入的数字是否为水仙花数
此题纠正了我一个错误的认识。我一直以为水仙花数是每位的立方和等于这个数,原因是曾经常常求的是三位数.
完整满分代码例如以下:
#include "oj.h" // 功能:推断输入 nValue 是否为水仙花数 // 输入: nValue为正整数 // 输出:无 // 返回:假设输入为水仙花数。返回1。否则返回0 unsigned int IsDaffodilNum(unsigned int nValue) { if(nValue<100) return 0; long n=nValue; long sum=0; int i; int cnt=0; int tmp=1; while(nValue) { nValue/=10; cnt++; } nValue=n; while(nValue) { tmp=1; i=nValue%10; for(int j=0;j<cnt;j++) { tmp*=i; } sum+=tmp; nValue/=10; } if(sum==n) return 1; else return 0; }
标签:数字 输入 padding pad article family while 功能 pop
原文地址:http://www.cnblogs.com/brucemengbm/p/6920437.html