美文网首页
22.蓝桥杯2013第一题猜年龄

22.蓝桥杯2013第一题猜年龄

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

    /**

    • 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
    • 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
    • “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
    • 请你推算一下,他当时到底有多年轻。
    • 通过浏览器,直接提交他那时的年龄数字。 注意:不要提交解答过程,或其它的说明文字。

    算法思路:
    因为利用HashSet的特点,Set里面的元素不重复,所以将数字一个一个从次方数中拆分出来存进set,然后判断set的大小是否为10,如果不为10,即是有重复才不存进set里,如果size为10,那么就证明了每个数字都不一样

    
    import java.util.HashSet;
    
    
    public class B1 {
    
        public static void main(String[] args) {
    
            for (int i = 11; i < 30; i++) {
                int four = (int) Math.pow(i, 3);
                int six = (int) Math.pow(i, 4);
                HashSet<Integer> set = new HashSet<Integer>();
                while (four != 0) { // 4013
                    int temp = four % 10;
                    set.add(temp);
                    four /= 10;
                }
                while (six != 0) {
                    int temp2 = six % 10;
                    set.add(temp2);
                    six /= 10;
                }
                if (set.size() == 10)
                    System.out.println(i);
            }
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:22.蓝桥杯2013第一题猜年龄

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