【程序3】
題目:打印出所有的 "水仙花數(shù) "实抡,所謂 "水仙花數(shù) "是指一個三位數(shù)抡笼,其各位數(shù)字立方和等于該數(shù)本身秽荤。例如:153是一個 "水仙花數(shù) "甜奄,因為153=1的三次方+5的三次方+3的三次方。
package com.share.test01_10;
/**
* 【程序3】題目:<br>
* 打印出所有的 "水仙花數(shù) "窃款,所謂 "水仙花數(shù) " 是指一個三位數(shù)贺嫂,其各位數(shù)字立方和等于該數(shù)本身。<br>
* 例如:153是一個 "水仙花數(shù) " 雁乡,因為153=1的三次方+5的三次方+3的三次方第喳。
*
* @author brx
*/
public class Test03 {
public static void main(String[] args) {
test1();
}
/**
* test()方法簡述:<br>
* 思路:將一個數(shù)的個十百位分別分離出來,然后將判斷它們的立方和是否等于它本身<br>
* 思路1:整形數(shù)據(jù)處理<br>
* 思路2:字符串處理
*
* @param s
* 個位(singles)
* @param t
* 十位(tens)
* @param h
* 百位(hundreds)
*
*/
public static void test() {
System.out.println("水仙花數(shù):");
for (int i = 100; i < 1000; i++) {
int s = i % 10;
int t = i % 100 / 10;
int h = i / 100;
if (i == s * s * s + t * t * t + h * h * h) {
System.out.println(i);
}
}
}
/**
* 思路2
*/
public static void test1() {
System.out.println("水仙花數(shù):");
for (int i = 100; i < 1000; i++) {
String str = String.valueOf(i);
int s = Integer.parseInt(String.valueOf(str.charAt(2)));
int t = Integer.parseInt(String.valueOf(str.charAt(1)));
int h = Integer.parseInt(String.valueOf(str.charAt(0)));
if (i == s * s * s + t * t * t + h * h * h) {
System.out.println(i);
}
}
}
}