集合の最初の100個

1218 ワード

1つのコレクションは次のように定義されます.
1は集合に属する.
iが集合に属すると,3 iと5 iも集合に属する.
この集合の最初の100個の数を求めます
 
package chow.test;

/**
 * @author Chow
 * @date Jun 18, 2010
 * @Description     100  ,   1, i    , 3i 5i     
 */

public class IsContain {
	static int[] result = new int[100];
	int count = 0;
	
	public int[] top100Num(){
		result[0] = 1;
		int index = 0;
		while(count < 99){
			int currentNum = result[index];
			if(!contains(3 * currentNum)){
				result[++count] = 3 * currentNum;
			}
			if(!contains(5 * currentNum)){
				result[++count] = 5 * currentNum;
			}
			index++;
		}
		return result;
	}
	
	//       num
	public boolean contains(int num){
		int curIndex = count;
		while(curIndex > 0){
			if(result[curIndex--] == num){
				return true;
			}
		}
		return false;
	}
	
	public static void main(String[] args){
		IsContain c = new IsContain();
		c.top100Num();
		for(int i : result){
			System.out.print(i + " ");
		}
	}
}