Java_CH6_HW2
設有自然數n,d為該自然數各位數字,即 n = dkdk-1...d1 ,則有:
n = dk·10k-1 + dk-1·10k-2 + ... + d2·10 + d1,
如果該自然數n滿足條件:
n = dkk + dk-1k + ... + d2k + d1k.
則這個自然數就被稱為超完全數字不變數。 例如153、370、371及407就是三位超完全數字不變數,其各個數之立方和等於該數:
153 = 13 + 53 + 33。
370 = 33 + 73 + 03。
371 = 33 + 73 + 13。
407 = 43 + 03 + 73。
請設計一程式,輸入 : 100 999 ,輸出:所有100到999之內的所有水仙花數。
import java.util.*;
public class Java_Ch6_HW2
{
public static void main(String[] args)
{
// TODO 自動產生的方法 Stub
Scanner scan = new Scanner(System.in);
System.out.print("請輸入兩數:");
int num1 = scan.nextInt(), num2 = scan.nextInt();
for (int i = num1; i <= num2; i++)
if (compute(i))
System.out.println(i);
}
public static boolean compute(int num)
{
String str = String.valueOf(num);
int total = 0, length = str.length();
for (int i = 0; i < str.length(); i++)
total += Math.pow(Integer.parseInt(Character.toString(str.charAt(i))), length);
return total == num ? true : false;
}
}
留言
張貼留言