题目:
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
分析:
这个数字的平方跟立方的长度正好是10,且这是个数字不重复,就可以用hashset(不重复集合)来做
,一直遍历到这个数字的平方立方的长度正好是10且不重复
步骤:
![](https://i-blog.csdnimg.cn/blog_migrate/6c1caac651d59f06997ac5a63a01566f.png)
package 刷提213;
import java.util.HashSet;
public class 奇妙的数字 {
public static void main(String[] args) {
f();
}
static void f() {
for (int i = 10; i < 10000; i++) {
int x = i * i;
int y = x * i;
String b = x + "" + y;
boolean flag = cha(b);
if (flag) {
System.out.println(i + " " + x + " " + y);
}
}
}
static boolean cha(String a) {
if (a.length() != 10)
return false;
HashSet<Character> set = new HashSet<Character>();
for (int i = 0; i < a.length(); i++)
set.add(a.charAt(i));
return set.size() == 10;
}
}