标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位
数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。
解析:
import java.util.HashSet;
import java.util.Set;
public class Demo01 {
private static boolean CheckSame(String age3, String age4)
{
String str = age3+age4;
//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) {
// TODO Auto-generated method stub
int age = 11;
for(age=11;age<=100;age++)
{
String age3 = age*age*age+"";
String age4 = age*age*age*age+"";
if(age3.length()==4 && age4.length()==6 && CheckSame(age3,age4)==true)
{
System.out.println(age);
break;
}
}
}
}
执行结果:18