java中的水仙花数问题,打印的“水仙花数”

作者:小小谷 | 创建时间: 2023-04-02
我是一个java的初学者,遇到了一个水仙花数的问题,给总结一下,便于初学者研究。...
java中的水仙花数问题,打印的“水仙花数”

操作方法

首先先要知道什么是水仙花数:知道水仙花数的规则:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

首先看到这个问题最开始我也没有思路,后来看到了水仙花数问题的流程图, 就想到了要线分离变量。

分离变量的方法

判断一个三位数,其各位数字立方和等于该数

整体代码: package Apri8; import java.util.*; public class waterFlower { private static int i1; private static int i2; private static int i3; //这个方法范围时能是100~1000,因为我只定义了三个变量,只能分离三位数! public static void flower(int bounder){ for(int i=100;i<bounder;i++){ int num1 = i / 100; int num2 = i % 100 / 10; int num3 = i % 10; int sum = num1*num1*num1 + num2*num2*num2 + num3*num3*num3; if(i == sum){ System.out.print(i+" "); } } } //判断是否是水仙花数 public static void judge(int num){ i1 = num / 100; i2 = num % 100 / 10; i3 = num % 10; int sum = i1*i1*i1+i2*i2*i2+i3*i3*i3; if(num == sum){ System.out.println(num + " 是水仙花数!"); }else{ System.out.println(num+" 不是水仙花数!"); } } public static void main(String[] args) { //键盘输入 Scanner sc = new Scanner(System.in); System.out.print("请输入范围 100 ~ "); int input1 = sc.nextInt();//你要输入的范围 flower(input1);//打印水仙花数方法 System.out.println("\n请输入一个数 三位数: "); int input2 = sc.nextInt(); judge(input2);//判断水仙花数方法 sc.close(); } }

代码运行结果如下:

点击展开全文

更多推荐