/*
功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数
原型:
int CalcArmstrongNumber(int n);
输入参数:
int n: n ≤ 65536
返回值:
n以内的阿姆斯特朗数的数量。
*/
int CalcArmstrongNumber(int n)
{
int sum=0;//数量
for(int i=2;i<=n;i++)
{
if(isArmstrongNumber(i))
{
sum++;
}
}
return sum;
}
/*
num是否为阿姆斯特朗数
是 返回1
否 返回0
*/
int isArmstrongNumber(int num)
{
int result=0;
int flag=1;
char numString[6];
sprintf(numString,"%d",num);
int sum=0;
for(int i=0;numString[i]!='\0';i++)
{
int na=numString[i]-'0';//某位上的数
sum+=pow(na*1.0,3);
}
if(sum==num)
{
return 1;
}
return 0;
}
阿姆斯特朗数 C++
最新推荐文章于 2024-07-04 12:56:13 发布