试题 基础练习 特殊的数字
[问题描述]
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。
[输出格式]
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
代码如下:
public class SpecialNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
String str = i + ""; //将整个数转换为字符串
int a = str.charAt(0) - '0', b = str.charAt(1) - '0', c = str.charAt(2) - '0'; //将百十个位的字符取出转换为整型abc
if (i == Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3)) { //比较各位数的立方和是否等于该数本身,用Math api 的Math.pow(m,n)方法,求m的n次方
System.out.println(i);
}
}
}
}