阿姆斯特朗数
阿姆斯特朗数:
如果一个整数等于其各个数字的立方和,则该数称为“阿姆斯塔朗数”(亦称为自恋性数)。试编程求1000以内的所有“阿姆斯特朗数”。
解题思路:利用for循环遍历1000以内的所有数字,循环内利用数组来储存各位数字,然后判断是否符合题意,符合则输出继续循环。
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,t,x,a[3]={0};
cout<<"There are following Armstrong number smaller than 1000:"<<endl;
for(i=2;i<1000;i++)
{
t=0;
x=i;
while(x)
{
a[t]=x%10;
x/=10;
t++;
}
if(i==a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2])
{
cout<<i<<" ";
}
}
return 0;
}