阿姆斯特朗数

阿姆斯特朗数:

如果一个整数等于其各个数字的立方和,则该数称为“阿姆斯塔朗数”(亦称为自恋性数)。试编程求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;

}

 

 

posted @ 2023-04-28 20:06  不如喝点  阅读(105)  评论(0编辑  收藏  举报