用java做水仙花数(Java水仙花数)
public class Demo_3 {
public static void main(String[] args){
/* / %
* 案例:判断一个数字是否为水仙花数
* 水仙花数:3位数、每一为数字的三次方的和等于它本身,那么这个数字就是水仙花数
* eg:153
* 百:1 153/100=1
* 十:5 1530/10=5 [53/10=5]
* 个:3 1530=3 [53=3]
* 1^3 5^3 3^3 == 153【水仙花数】
* 问题关键:怎们去获取这个三位数字的每一个位置上的数字
* 案例:输出100-1000以内的水仙花数
* for循环
* 语法:
* for(起始值;终止值;迭代){代码操作}
* 起始值:100
* 终止值:1000
* 迭代:每一次循环之后让起始值 1
* i 表示自增运算符【每一次循环结束之后让自身 1】
* for(int i=100;i<1000;i ){}
* */
int num = 153;
int b = num/100;//百位
int s = num0/10;//十位
int g = num0;//个位
System.out.println("百位:" b ",十位:" s ",个位:" g);
/*
* Math java类
* pow(double a, double b) 方法
* double a,double b 是参数
* a:表示要求哪一个数字的b次方
* b:表示求a这个数字的几次方
* Math.pow(2,3) 2的3次方 调用方法 等同于:2*2*2
* */
if((Math.pow(b, 3) Math.pow(s, 3) Math.pow(g,3)) == num){
System.out.println( num "是水仙花数");
}else {
System.out.println("不是水仙花数");
}
// 输出100-1000以内的水仙花数
int b_1;// 声明一个变量
int s_1;
int g_1;
System.out.println("100-1000以内的水仙花数为:");
for(int i = 100;i<1000;i ){
b_1 = i/100;
s_1 = i0/10;
g_1 = i0;
if((Math.pow(b_1, 3) Math.pow(s_1, 3) Math.pow(g_1,3)) == i){
System.out.print(i "\t");
}
}
}
}
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com