如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数),1除外,如407 = 43+03+73就是一个阿姆斯特朗数。试编程求n(n ≤ 65536)以内的所有阿姆斯特朗数。
接口说明
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量
#include "OJ.h"
/*
功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量。
*/
int CalcArmstrongNumber(int n)
{
int cnt=0;
int tmp;
/*在这里实现功能*/
for(int i=2;i<=n;i++)
{
//sum每次要初始化为0
int sum=0;
tmp=i;
while(tmp)
{
int j=tmp%10;
sum=sum+j*j*j;
tmp/=10;
}
if(sum==i)
cnt++;
}
return cnt;
}