java水仙花数的几种写法
2017-07-25 17:32
148 查看
关于 水仙花数的几种写法的总结:
百度百科可知:水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153)。
代码如下:
public class Demo {
public static void main(String [] args) {
/* for (int i = 0; i < 1000; i++) {
思考:水仙花数 包不包含两位数? 一位数? 题目没有提示n>=3...
if (i<10) {
int a = i % 10 ;
if (i==a) {
System.out.println(i);
} else if (i<100) {
int b = i % 10;
int c = i / 10;
if (i==b*b+c*c) {
System.out.println(i);
}
}
} else {
int bai = i / 100 ;
int shi = i % 100 / 10 ;
int ge = i % 10 ;
if (i==bai*bai*bai+shi*shi*shi+ge*ge*ge) {
System.out.println(i);
}
}
} */
// 百度得知水仙花数是指三位数:
for (int i = 100; i < 1000; i++) {
// 用 for 来 输出 ;
int bai = i / 100 ;
int shi = i % 100 / 10 ;
int ge = i % 10 ;
if (i==bai*bai*bai+shi*shi*shi+ge*ge*ge) {
System.out.println(i);
}
}
System.out.println("--------------------------------");
// 接下来用 while ;
int x = 100 ;
while (x<1000) {
int a = x % 10;
int b = x / 10 % 10;
int c = x / 100;
if (x==a*a*a+b*b*b+c*c*c) {
System.out.println(x);
}
x++;
}
System.out.println("--------------------------------");
//用 do while
int y = 100;
do {
int d = y / 100 ;
int e = y % 100 / 10 ;
int f = y % 10 ;
if (d*d*d+e*e*e+f*f*f==y) {
System.out.println(y);
}
y++;
} while (y < 1000 );
System.out.println("--------------------------------");
// 用三层循环?!
for (int i = 1 ; i <= 9;i++ ) {
for (int j = 0 ; j <= 9 ; j++) {
for ( int k = 0 ; k <= 9 ; k++) {
if (i*i*i+j*j*j+k*k*k==100*i+10*j+k) {
// Math.powe(i,3)+Math.powe(i,3)+Math.powe(i,3)==100*i+10*j+k
System.out.println(100*i+10*j+k);
}
}
}
}
System.out.println((char)42);
}
}
百度百科可知:水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153)。
代码如下:
public class Demo {
public static void main(String [] args) {
/* for (int i = 0; i < 1000; i++) {
思考:水仙花数 包不包含两位数? 一位数? 题目没有提示n>=3...
if (i<10) {
int a = i % 10 ;
if (i==a) {
System.out.println(i);
} else if (i<100) {
int b = i % 10;
int c = i / 10;
if (i==b*b+c*c) {
System.out.println(i);
}
}
} else {
int bai = i / 100 ;
int shi = i % 100 / 10 ;
int ge = i % 10 ;
if (i==bai*bai*bai+shi*shi*shi+ge*ge*ge) {
System.out.println(i);
}
}
} */
// 百度得知水仙花数是指三位数:
for (int i = 100; i < 1000; i++) {
// 用 for 来 输出 ;
int bai = i / 100 ;
int shi = i % 100 / 10 ;
int ge = i % 10 ;
if (i==bai*bai*bai+shi*shi*shi+ge*ge*ge) {
System.out.println(i);
}
}
System.out.println("--------------------------------");
// 接下来用 while ;
int x = 100 ;
while (x<1000) {
int a = x % 10;
int b = x / 10 % 10;
int c = x / 100;
if (x==a*a*a+b*b*b+c*c*c) {
System.out.println(x);
}
x++;
}
System.out.println("--------------------------------");
//用 do while
int y = 100;
do {
int d = y / 100 ;
int e = y % 100 / 10 ;
int f = y % 10 ;
if (d*d*d+e*e*e+f*f*f==y) {
System.out.println(y);
}
y++;
} while (y < 1000 );
System.out.println("--------------------------------");
// 用三层循环?!
for (int i = 1 ; i <= 9;i++ ) {
for (int j = 0 ; j <= 9 ; j++) {
for ( int k = 0 ; k <= 9 ; k++) {
if (i*i*i+j*j*j+k*k*k==100*i+10*j+k) {
// Math.powe(i,3)+Math.powe(i,3)+Math.powe(i,3)==100*i+10*j+k
System.out.println(100*i+10*j+k);
}
}
}
}
System.out.println((char)42);
}
}
相关文章推荐
- 适配手机端的几种写法
- 关于两个整数的交换的几种写法
- AlertDialog弹出框-常用几种写法
- PHP标记几种写法汇总
- 关于“约瑟夫环”的php的几种写法
- hql的几种写法
- (转)一段代码的几种写法-怎么样写好的代码
- 获取计算机外网ip的几种写法
- 最大公约数的几种写法
- 设计模式之单例模式的几种写法
- 快排中partition函数的几种写法记录
- CSS中几种中文字体的英文写法.
- java基础知识————for循环几种写法
- java for循环的几种写法
- 水平垂直居中的几种写法
- 单例模式的几种写法(包含双检锁写法)
- android listview优化几种写法详细介绍
- PHP实现今天是星期几的几种写法
- Javascript函数的几种写法