#include "OJ.h"
#include<iostream>
using namespace std;
/*
功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量。
*/
bool isArmstrongNumber(int m)//判断m是否为阿姆斯特朗数
{
int initalM = m;
if (m == 1)
{
return false;
}
int sum =0;
int temp ;
while(m != 0)
{
temp = m%10;
m = m/10;
sum += temp *temp *temp;
}
if (sum == initalM)
{
return true;
}
else
{
return false;
}
}
int CalcArmstrongNumber(int n)
{
/*在这里实现功能*/
int totalNum =0;
for (int i =2; i <=n ; ++i)
{
if (isArmstrongNumber(i))
{
cout<<i<<endl;
totalNum++;
}
}
return totalNum;
}
int main()
{
int m;
while (cin>>m)
{
cout<<CalcArmstrongNumber(m)<<endl;
}
return 0;
}
阿姆斯特朗数
最新推荐文章于 2020-12-06 18:36:35 发布