一个整数,他每一位数的立方和等于这个数本身,则这个数为水仙花数。例如: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
* 是一个水仙花数!
*/
}