1. 程式人生 > >水仙花數(Java版)

水仙花數(Java版)

一個整數,他每一位數的立方和等於這個數本身,則這個數為水仙花數。例如:153 = 1^ 3 + 5^ 3 + 3^ 3,所以他是一個水仙花數,下面給出實現方法。

import java.util.Scanner;

public class ShuiXian {
	public static void main(String[] args) {
		int num,sum = 0;
		Scanner sc = new Scanner(System.in);
		num = sc.nextInt();
		String str = Integer.toString(num);
		char s[] = str.toCharArray();	//利用Java已有的API將一個整數轉化為字元陣列
		for(int i = 0;i<s.length;i++) {
			sum += Math.pow((s[i]-48), 3);	//將整數的每一位立方和算出,存到sum中(數字的ASCII碼相差48)
		}
		if(sum == num) {
			System.out.println("是一個水仙花數!");
		}else {
			System.out.println("不是一個水仙花數!");
		}
	}
	/**
	 * output:
	 * 153
	 * 是一個水仙花數!
	 */

}