题目
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
代码
public static void main(String[] args) {
for (int i = 1; i < 100; i++) {
boolean lp=true;
int a[]=new int [10];
int b=i*i;
int c=i*i*i;
int mb=Integer.toString(b).length();
int mc=Integer.toString(c).length();
//以上获取b和c的长度,之前是放在数组内的,得出结果是当b开始变动,当前值也开始变,所以要放在外面
for (int j = 0; j <mb; j++) {
a[b%10]++;
b/=10;
}
for (int k = 0; k <mc; k++) {
a[c%10]++;
c/=10;
}
for (int j = 0; j < a.length; j++) {
if (a[j]!=1) {
lp=false;
}
}
if (lp) {
System.out.println(i);
break;
}
}
}
剑走偏锋写法代码
public static void main(String[] args) {
for (int i = 1; i < 100; i++) {
String str1=i*i+"";
String str2=i*i*i+"";
String str=str1+str2;
if (str.contains("0")&&str.contains("1")&&str.contains("2")&&str.contains("3")&&str.contains("4")&&str.contains("5")&&str.contains("6")&&str.contains("7")&&str.contains("8")&&str.contains("9")) {
System.out.println(i);
break;
}
}
}
结果
69