蓝桥杯(java)个人赛真题:奇妙的数字

奇妙的数字

			奇妙的数字
			
			小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
			你能猜出这个数字是多少吗?
			
			请填写该数字,不要填写任何多余的内容。

思路:
这题想要快速的做出就需要一定的基础了,这题涉及了一个Set集合,这个集合有一个特点就是只能存储不同的数据,首先我们定义两个变量来保存一个数的平方和立方分别取出每位数字添加到同一Set集合中然后判断Set的长度是否为10,这里就巧妙利用了Set属性值不能重复的特点,保证Set中如果存在10个值的话必然是0~9。

package Lqb;

import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class Text22 {

	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);
		}


}

猜你喜欢

转载自blog.csdn.net/qq_42798905/article/details/87888736
今日推荐