小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
方法一:
public static void main(String[] args){
for(int a=0;a<=10000;a++){
int b=(int)Math.pow(a, 2);
int c=(int)Math.pow(a, 3);
String b1=null;
b1=b1.valueOf(b);
char[] i1=b1.toCharArray();
String c1=null;
c1=c1.valueOf(c);
char[] i2=c1.toCharArray();
char[] aa=new char[10];
for(int t=0;t<i1.length;t++){
aa[t]=b1.charAt(t);
}
for(int t=0;t<i2.length;t++){
aa[i1.length+t]=c1.charAt(t);
}
Arrays.sort(aa);
if((String.valueOf(aa).equals("0123456789"))){
System.out.println(a);
}
}
方法二:
public static void main(String[] args) {
f1();
}
//暴力破解
public static void f1(){
int s=0;
int v=0;
for(int i=40;i<100;i++){
s=(int)Math.pow(i, 2);//四位数
int a=s%10;
int b=s/10%10;
int c=s/100%10;
int d=s/1000;
v=(int)Math.pow(i, 3);//六位数
int e=v%10;
int f=v/10%10;
int g=v/100%10;
int h=v/1000%10;
int k=v/10000%10;
int m=v/100000;
if(a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=k&&a!=b&&b!=c&&b!=e&&b!=f&&b!=g&&b!=h&&b!=k&&b!=m
&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=k&&c!=m&&d!=e&&e!=f&&e!=g&&e!=h&&e!=k&&e!=m&&f!=h&&f!=k&&f!=m
&&f!=g&&g!=h&&h!=k&&k!=m&&m!=a&&(a+b+c+d+e+f+g+h+k+m==45))
{
System.out.println(i);
}
}
}