蓝桥杯练习 特殊的数字
问题描述
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
思路分析:三位十进制数表示开一个for循环,从100到999,然后每个数等于它各位立方和,和前面哪个题差不多,就是把各位和变为各位的立方再求和。
代码如下:
public class Main {
public static void main(String[] args) {
//遍历100到999
for (int i = 100; i <= 999; i++) {
int sum = 0;
String ss = String.valueOf(i);
for (int j = 0; j < ss.length(); j++) {
//取出每一位数字
int temp = Integer.parseInt(String.valueOf(ss.charAt(j)));
sum += temp*temp*temp;
}
if(sum == i){
System.out.println(i);
}
}
}
}