春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,它是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。
现在要求输出所有在 m 和 n 范围内的水仙花数。
输入格式
输入包含多组测试数据。
每组数据占一行,包含两个整数 m 和 n。
最后一行 00 表示输入结束。
输出格式
每组数据输出一行答案,从小到大输出所有位于 [m,n] 范围内的水仙花数,数之间用空格隔开,如果没有则输出 no
。
数据范围
100≤m≤n≤999,
输入最多包含 10 组数据。
输入样例:
100 120
300 380
0 0
输出样例:
no
370 371
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int m, n;
while (1) {
cin >> m >> n;
if (m == 0 and n == 0) return 0;
int ans = 0;
for (int i = m; i <= n; i++){
int k = i, r, sum = 0;
while (k != 0){
r = k % 10;
k /= 10;
sum += (r * r * r);
}
if (sum == i){
ans++;
cout << sum << " ";
}
}
if (ans == 0)
cout << "no" << endl;
else
cout << endl;
}
}
你可以
while(cin>>m>>n)
啊…
个人习惯…
while(1+1==2 && 1+2==3)
while(1)
latex挂了
?
153=13+53+33
自己看啊
c
好吧我不会搞
$153=1^3+5^3+3^3$
哦吼
?