B:立方变自身(难度:★★)
观察下面的现象,某个数字的立方,按位累加仍然等于自身。
1^3 = 1
8^3 = 512 5+1+2=8
17^3 = 4913 4+9+1+3=17
…
请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?
请填写该数字,不要填写任何多余的内容或说明性的文字。
分析:
X立方按位累加和不会超过99,
99的立方有6位,
按位累加和<6*9=54,
暴力枚举所有情况,
符合条件计数得解。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int sum = 0;//立方值
int ans = 0;//统计个数
for (int i = 1; i < 100; i++) {
sum = i * i * i;
String s = String.valueOf(sum);//将sum转换为字符串类型
String[] ss = s.split("");//转换为字符串类型数组
int n = 0;//和
for (int j = 0; j < ss.length; j++) {
n += Integer.parseInt(ss[j]);
if (n == i&&j==ss.length-1) {//j==ss.length-1 数字加到最后(全部相加完)
ans++;
// System.out.println(i);//可以打印出来自己验证
}
}
}
System.out.println(ans);
}
}