奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
#include <stdio.h>
void test(int x[],int n)
{
int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
int b = x[4]*100000 + x[5]*10000 + x[6]*1000 + x[7]*100 + x[8]*10+x[9];
if(n*n==a&&n*n*n==b) printf("%d ",n);
}
void f(int x[], int k,int n)
{
int i,t;
if(k>=9){
test(x,n);
return;
}
for(i=k; i<10; i++){
{t=x[k]; x[k]=x[i]; x[i]=t;}
f(x,k+1,n);
{t=x[k]; x[k]=x[i]; x[i]=t;}
}
}
int main()
{
int x[] = {0,1,2,3,4,5,6,7,8,9};
int n,i;
for(n=40;n<100;n++)
f(x,0,n);
return 0;
}
运行出结果为:69
69*69=4761
69*69*69=328509