2015年Java方向C组第六题

2021-02-13  本文已影响0人  D丝学编程

标题:奇妙的数字

小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。

你能猜出这个数字是多少吗?

请填写该数字,不要填写任何多余的内容。

解析:

private static boolean CheckSame(String str) 
{
    //Set的特点为不能插入重复内容
    Set<Character> set = new HashSet<Character>();
    for (int i = 0; i < str.length(); i++) {
        set.add(str.charAt(i));
    }
    return set.size() == 10;
}
public static void main(String[] args) {
    // 由于100的平方和100的立方拼接起来长度已经超过10,所以循环的终点设置为100是可以的
    for (int i = 1; i <= 100; i++) 
    {
        String pf = i*i+"";  //平方
        String lf = i*i*i+""; //立方
        String str = pf+lf; //平方和立方拼接的结果
        if(str.length() != 10)  //如果长度不等于10则跳过
            continue;
        if(CheckSame(str) == true)
        {
            System.out.println(i);
            break;
        }
    }
}

答案:69

上一篇 下一篇

猜你喜欢

热点阅读