美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。
于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。
我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。 注意:不要提交解答过程,或其它的说明文字。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
__int64 a,i,j,f;
char s1[10],s2[10];
int b[10];
for(i=10;;i++)
{
a=0;
__int64 k=i*i*i;
__int64 t=i*i*i*i;
itoa(k,s1,10);
itoa(t,s2,10);
if(strlen(s1)==4&&strlen(s2)==6)
{
memset(b,0,sizeof(b));
for(j=0;j<4;j++)
{
f=k%10;
k/=10;
if(!b[f])
{
a++;
}
b[f]=1;
}
for(j=0;j<6;j++)
{
f=t%10;
t/=10;
if(!b[f])
{
a++;
}
b[f]=1;
}
}
if(a==10)
{
printf("%d %d %d\n",i,i*i*i,i*i*i*i);
break;
}
}
return 0;
}