题目描述

在三位的整数中,例如153可以满足1^3 + 5^3 + 3^3 = 153,这样的数称之为Armstrong数。将所有的Armstrong数按小到大排序,试写出一程序找出指定序号的三位Armstrong数。

输入

输入包括若干行,每行输入一个序号。输入序号为0时,结束输入。

输出

输出相应序号的Armstrong数,如果输入的序号大于Armstrong数个数,输出0。

样例输入

1
4
6
0

样例输出

153
407
0
 
 #include <iostream>
#include <vector>
using namespace std; int main()
{
int res[] = {};
int f,m,b;
for(int arms=;arms<; arms++)
{
f = arms/;
m = (arms%)/;
b = arms%; if((f*f*f+m*m*m+b*b*b)==arms)
res[f] = arms;
}
int input = -;
while(input!=) {
scanf("%d",&input);
if(res[input]!=)
cout << res[input] << endl;
}
cout << << endl;
}
04-15 05:17