有关1851
- 题目描述
- 输入
- 输出
- 思路
- 代码
题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: ―水仙花数是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。 现在要求输出所有在m和n范围内的水仙花数。
输入
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
输出
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开。如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行
思路
写一个判断该数是否为水仙花数的函数,然后再在主函数里遍历范围内的每个数。
水仙花水是三位数,可以直接获取其个位,十位和百位的数字。
代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44import java.util.Scanner; import java.lang.Math; public class Main { public static boolean isNarcissin(int n) { int ge = n % 10; int shi = n / 10 % 10; int bai = n / 100; if(Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == n) { return true; } else { return false; } } public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int m, n; boolean flag; while(in.hasNext()) { m = in.nextInt(); n = in.nextInt(); flag = false; for(int i = m; i < n; i++) { if(isNarcissin(i)) { System.out.print(i + " "); flag = true; } } if(flag == false) { System.out.println("no"); } } in.close(); } }
最后
以上就是故意电话最近收集整理的关于DOTCPP:有关1851心得题目描述思路代码的全部内容,更多相关DOTCPP内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复