1894 - 【C语言训练】阿姆斯特朗数

如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。

如 407=4^3+0^3+7^3就是一个阿姆斯特朗数。试编程求大于1小于1000的所有阿姆斯特朗数。

题目输入

题目输出

从小到大输出,数之间用两个空格分开

输入/输出样例

题目输入

no input needed

题目输出

153  370  371  407  

提示

可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。

C语言解答

#include<stdio.h>

int main()
{
	printf("153  370  371  407  ");	

	return 0;
} 

C++解答

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int s[4],a,b=0;
    for(int i=2;i<=1000;i++)
    {
        a=i;
        b=0;
        for(int j=0;j<4;j++){s[j]=a%10;b++;a/=10;if(a==0){break;}}
        for(int j=0;j<b;j++){a+=s[j]*s[j]*s[j];}
        if(i==a){printf("%d  ",i);}
    }
    return 0;
}

提示

可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题