立方尾不变
有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,…
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
分析:通过循环10000内的所有数字,进行拆分判断,计数。
public class demo2 {
public static void main(String[] args) {
//题意得到如果一个数跟这个数的立方后数的位数相等,则累加
int sum = 0;//计数,统计个数
for (long i = 1; i <=10000; i++) {//循环1-10000
String ii = i+"";//转换为String类型
String weis = i*i*i+"";//获取i的立方数并转为String类型
String weif = "";//定义一个变量
for (int j = 0; j < ii.length(); j++) {//从o开始循环ii.length()次
weif+=weis.charAt(weis.length()-1-j);//从weis的最后取字符,放到变量中
}
String wei = "";//因为获取上一步的字符串是反着的所以,反转
for (int j = weif.length()-1; j >=0 ; j--) {//反转字符串存到另外一个变量中
wei+=weif.charAt(j);
}
if(wei.equals(ii)){//如果ii跟wei(尾数的字符串相同)
sum++;//累加次数
}
}
System.out.println(sum);
}
}
输出结果为:
36
本文介绍了一种有趣的数学现象——立方尾不变数,即某些数字的立方末尾恰好是该数字本身。通过Java编程实现了一个算法,计算了10000以内符合此特征的正整数数量,结果显示共有36个这样的数字。


被折叠的 条评论
为什么被折叠?



