2015蓝桥杯有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,…
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
public class Test2 {
private static int num=0;
public static void main(String[] args) {
for(long i=1;i<=10000;i++)
{
if(i<10)
{
if((i*i*i)%10!=i)
continue;
else
{
num++; System.out.println(i);
}
}
else if(i<100)
{
if((i*i*i)%100!=i)
continue;
else
{
num++; System.out.println(i);
}
}
else if(i<1000)
{
if((i*i*i)%1000!=i)
continue;
else
{
num++; System.out.println(i);
}
}
else if(i<=10000)
{
if((i*i*i)%10000!=i)
continue;
else
{
num++; System.out.println(i);
}
}
}
System.out.println(num);
}
}
经典解法
public class Test1 {
private static int num;
public static void main(String[] args) {
//System.out.println(2841 * 2841 * 2841);
for (long k = 1; k <= 10000; k++) {
check(k * k * k, k);
}
System.out.println(num);
}
public static void check(long x,long y){
String x1= String.valueOf(x);
String x2=String.valueOf(y);
if(x1.substring(x1.length()-x2.length()).equals(x2))
//因为该数的尾数等于其本身,所以把前面不等的一部分 删除,然后substring(开始)
{
num++;
System.out.println(x2);
}
}
}