/*
功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量。
功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量。
*/
vector<int> getNum(unsigned int n){
int num;
vector<int> result;
while(n){
num = n%10;
result.push_back(num);
n = n/10;
}
return result;
}
bool IsAmusitelang(vector<int> num,unsigned int n){
unsigned int result = 0;
for(vector<int>::iterator it=num.begin();it!=num.end();it++){
result+=((*it)*(*it)*(*it));
}
if(result == n){
return true;
}else{
return false;
}
}
int CalcArmstrongNumber(int n)
{
/*在这里实现功能*/
int count=0;
int i;
for(i=2;i<=n;i++){
vector<int> num = getNum(i);
if(IsAmusitelang(num,i)){
count++;
}
}
return count;
return 0;
}