我是一个java的初学者,遇到了一个水仙花数的问题,给总结一下,便于初学者研究。
操作方法
01
首先先要知道什么是水仙花数:知道水仙花数的规则:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
02
例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
03
首先看到这个问题最开始我也没有思路,后来看到了水仙花数问题的流程图,
就想到了要线分离变量。
04
分离变量的方法
05
判断一个三位数,其各位数字立方和等于该数
06
整体代码:
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("
请输入一个数 三位数: ");
int input2 = sc.nextInt();
judge(input2);//判断水仙花数方法
sc.close();
}
}
07
代码运行结果如下:
好了,以上就是大致内容了,(END)
声明:该文观点仅代表作者本人,天晴资讯网系信息发布平台,仅提供信息存储空间服务。