/*
功能: 求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以内的阿姆斯特朗数的数量。
*/
bool isArmstrong(int a)
{
int index = 0,copyA = a;
int dit[10]={0};
while(a)
{
dit[index++]=a%10;
a = a/10;
}
for(int i = 0;i<index;++i)
{
dit[index] += dit[i]*dit[i]*dit[i];
}
if(dit[index] == copyA)
return true;
else
return false;
}
int CalcArmstrongNumber(int n)
{
/*在这里实现功能*/
int num=0;
if(n>0xffffffff)
return 0;
for(int i=2;i<=n;++i)
{
if(isArmstrong(i))
++num;
}
return num;
}