我是一个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 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(); } } 代码运行结果如下: 



- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
