【题目描述】
《奇妙的数字》小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
【题目分析】
1)利用Java 的set集合,集合中的数字不可以重复;
2)在while循环中分别算出平方与立方,并且将各个位数的数字放到set集合中,如果set集合的大小正好等于10,则结束循环。
【代码设计】
import java.util.HashSet;
import java.util.Set;
public class Number {
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<>();
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);
}
}
【结果】这个数字是 69;该数的平方: 4761;该数的立方: 328509。
【总结】java中的set集合很好用,适合做此类题目
第一次写博客,希望大家提出意见,谢谢!