题目:
奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
答案:69
本人代码:
import java.util.HashSet;
import java.util.Set;
public class 第六题 {
public static void main(String[] args) {
Set<Integer> set=new HashSet<Integer>();
int Num=0,Quadratic=0, Cube=0, n=0;
while(n!=10){
Num++;
set=new HashSet<Integer>();
Quadratic=Num*Num;
Cube=Num*Num*Num;
while(Quadratic>0){
set.add(Quadratic%10);
Quadratic/=10;
}
while(Cube>0){
set.add(Cube%10);
Cube/=10;
}
n=set.size();
}
System.out.println("这个数字是: "+Num);
}
}
这道题还有另一种简单的解法
代码如下:
public class 第六题2 {
public static void main(String[] args) {
//命名两个储存变量
int p=0,l=0;
for (int i = 1;i<100; i++) {
//储存平方数
p=i*i;
//储存立方数
l=i*i*i;
//将p和l组合起来转换为字符串,如p=1234,l=567890,
//转换为字符串组合起来为1234567890
String s=""+p+l;
//contains为包含函数
if(s.contains("0")&s.contains("1")&s.contains("2")&s.contains("3")&s.contains("4")&
s.contains("5")&s.contains("6")&s.contains("7")&s.contains("8")&s.contains("9")
){
System.out.println(i);
}
}
}
}