题目标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都
恰好出现1次。”请你推算一下,他当时到底有多年轻。
int main(void)
{
int year,num[10],count;
for(year=1;year<100;year++){
int i = year*year*year,flag=0;
if(i>=1000){
for(count=0;count<4;count++){
num[count] = i;
i=(i-num[count])/10;
}
}
else
continue;
i = year*year*year*year;
if(i>=100000)
for(count=4;count<10;count++){
num[count] = i;
i=(i-num[count])/10;
}
else
continue;
for(i=0;i<10;i++)
for(count=i+1;count<10;count++){
if(num[i]==num[count])
flag=1;
}
if(flag==0)
printf("%d",year);
}
return 0;
}
Answer:18