有些数字的立方的末尾正好是该数字本身。比如:1,4,5,6,9,24,25,…请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。请提交该整数,不要填写任何多余的内容。
注意:
10000的数字立方会很大,所以需要用到 BigInteger .这里因为数值比较大,所以要用BigInteger的 multipy 进行平方,也因为multipy的操作对象是BigInteger,所以需要用 String.valueOf 将i转化为String,然后再通过new BigInteger的方式转化为BigInteger
错误:27
public class Test02 {
public static void main(String[] args) {
int t = 0;
for (int i = 1; i <= 10000; i++) {
String s1 = String.valueOf(i);
String s2 = String.valueOf(i * i * i);
if (s2.endsWith(s1)) {
t = t + 1;
}
}
System.out.print(t);
}
}
正确:36
import java.math.BigInteger;
public class Test02 {
public static void main(String[] args) {
int t = 0;
for (int i = 1; i <= 10000; i++) {
BigInteger threeNum=new BigInteger(String.valueOf(i));
threeNum=threeNum.multiply(threeNum).multiply(threeNum);
if(threeNum.toString().endsWith(i+"")){
t+=1;
}
}
System.out.print(t);
}
}