美文网首页
29.蓝桥杯2015第2题_立方尾不变

29.蓝桥杯2015第2题_立方尾不变

作者: FiveZM | 来源:发表于2018-03-31 17:45 被阅读0次

package 第六届;

import java.util.LinkedList;

/**

立方尾不变

有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,....

请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。

请提交该整数,不要填写任何多余的内容。
answer 36

思路:
1.将立方数的值进行while循环,while循环的目的是为了知道原数字的长度,到底是1位数还是2位数还是3位数,所以初始化一个记录有多少位的count,每除以10一次就count++,
2.根据count的长度,取立方值得后count位,将它们存为一个string类型,
再用Integer解析出来,
然后进行判断是否相同,如果相同,那么记录数加1.

这里要注意的是一开始 int index= i进行的赋值,因为如果不赋值的话,那么 在while循里面就是 i!=0, i要进行缩位,i/=10,因为这个外循环的指针就是i,如果将指针进行改变的话,每次都 / 10,就变成了死循环,永远出不去
public class A2 {

public static void main(String[] args) {
    int num = 0;
    LinkedList<Integer> list = new LinkedList<Integer>();
    for(int i=1;i<=10000;i++)
    {
        int index = i;
        int count = 0;
        long result = (long) Math.pow(index, 3);
        while(index!=0)
        {
            index/=10;
            count++;
        }
        String target = "";
        for(int j=0;j<count;j++) {
            target = result%10+target;
            result/=10;
        }

        int end = Integer.parseInt(target);
        if(end == i) {
            list.add(i);
            num++;
        }
            
    }
    System.out.println(num);
    for(int a : list) {
        System.out.println(a);
    }
}

}

package 第六届;

import java.util.LinkedList;

public class A2 {

    public static void main(String[] args) {
        int num = 0;
        LinkedList<Integer> list = new LinkedList<Integer>();
        for(int i=1;i<=10000;i++)
        {
            int index = i;
            int count = 0;
            long result = (long) Math.pow(index, 3);
            while(index!=0)
            {
                index/=10;
                count++;
            }
            String target = "";
            for(int j=0;j<count;j++) {
                target = result%10+target;
                result/=10;
            }

            int end = Integer.parseInt(target);
            if(end == i) {
                list.add(i);
                num++;
            }
                
        }
        System.out.println(num);
        for(int a : list) {
            System.out.println(a);
        }
    }

}

相关文章

网友评论

      本文标题:29.蓝桥杯2015第2题_立方尾不变

      本文链接:https://www.haomeiwen.com/subject/tffncftx.html