猜年龄
public class Test2 {
public static void main(String[] args) {
/*
* java 猜年龄标题: 猜年龄
* 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学.
* 一次,他参加某个重要会议,年轻的脸孔引人注目.于是有人询问他的年龄,他回答说
* “我年龄的立方是个4位数.我年龄的4次方是个6位数.这10个数字正好包含了从0到9这10个数字,
* 每个都恰好出现1次.”我知道这个可以推算出来,我要看的是代码
* */
get1();
}
private static void get1() {
for (int i=11;i<30;i++)
{
int x=i*i*i; //他的结果是一个四位数
int y=x*i; //这是个六位数
String four=x+"";
String six=y+"";
if(four.length()==4 && six.length()==6 && check(four+six))
{
System.out.println("维纳的年龄是:"+i);
break;
}
}
}
private static boolean check(String s) {
HashSet set=new HashSet(); //唯一 无序的 集合
for (int i=0;i<s.length();i++)
{
set.add(s.charAt(i));
}
return set.size()==10;
}
}