【题目03】打印出所有的 "水仙花数 "

【程序3】
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

package com.share.test01_10;

/**
 * 【程序3】题目:
* 打印出所有的 "水仙花数 ",所谓 "水仙花数 " 是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个 "水仙花数 " ,因为153=1的三次方+5的三次方+3的三次方。 * * @author brx */ public class Test03 { public static void main(String[] args) { test1(); } /** * test()方法简述:
* 思路:将一个数的个十百位分别分离出来,然后将判断它们的立方和是否等于它本身
* 思路1:整形数据处理
* 思路2:字符串处理 * * @param s * 个位(singles) * @param t * 十位(tens) * @param h * 百位(hundreds) * */ public static void test() { System.out.println("水仙花数:"); 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("水仙花数:"); 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); } } } }

你可能感兴趣的:(【题目03】打印出所有的 "水仙花数 ")