1. 程式人生 > >第六屆藍橋杯題目(java)-奇妙的數字

第六屆藍橋杯題目(java)-奇妙的數字

【題目描述】

《奇妙的數字》小明發現了一個奇妙的數字。它的平方和立方正好把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集合很好用,適合做此類題目

第一次寫部落格,希望大家提出意見,謝謝!