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的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。