水仙花数,水仙花数c语言
水仙花数又称阿姆斯特朗数。
水仙花数是指一个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
{
tmp*=i;
}
sum+=tmp;
nValue/=10;
}
if(sum==n)
return 1;
else
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
http://www.dengb.com/ASPjc/1026231.htmlwww.dengb.comtruehttp://www.dengb.com/ASPjc/1026231.htmlTechArticle水仙花数,水仙花数c语言 水仙花数又称阿姆斯特朗数。 水仙花数是指一个n位数(n ≥ 3) ,它的每个位上的数字的n次幂之和等于它本身。(...