题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身比如: 。
现在要求输出所有在m和n范围内的水仙花数。
输入格式两个整数m和n(100<=m<=n<=999)。
输出格式要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,
如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no。
样例输入 #1
300 380
输出 #1
370 371
数据范围与提示
分类标签
[枚举]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int n;
int g;
int s;
int b;
int m;
bool x;
// The main procedure
int main() {
cin>>m;
cin>>n;
x = true;
for (int i = m; i <= n; i++) {
g = (i%10);
s = ((i%100)/10);
b = (i/100);
g = ((g*g)*g);
s = ((s*s)*s);
b = ((b*b)*b);
if ((g+(b+s)) == i) {
if (x) {
x = false;
} else {
cout<<" ";
}
cout<<i;
}
}
if (x) {
cout<<"no";
}
return 0;
}
Blockly题解代码图片