阿姆斯特朗数

一、问题描述:

 题目有带点错误是5的三次方

 

二、设计思路:

 

 

三、程序流程图:

 

四、代码实现:

#include<bits/stdc++.h>
int main()
{
    
    int n,a[3],i,m=0;
    for(n=2;n<1000;n++)
    {
        int k=n;m=0;
        for( i=0;k;i++)
        {
            a[i]=k%10;
            k/=10;
        }
        for(;i>=0;i--)
        {
            
            m+=pow(a[i],3);
        }
        if(n==m)
        {
            printf("%d\n",n);
        }
    }
    
    return 0;
}

   和水仙花数一个道理,至是不一定为三位数字了,可以自主扩大数组a[i]的个数来存储每一位数字,然后分别三次方

posted @ 2023-05-10 23:03  软件拓荒人  阅读(52)  评论(0)    收藏  举报