알고리즘 1>

고전게임을 잘하기로 소문난 두 형제 종현이와 종원이는 요새 갤러그라는 게임에
푹 빠져 있다. 현재 종현이와 종원이의 점수는 각각 A점과 B점이고, 종현이의 점수는
A는 종원이의 점수 B보다 높거나 같다. 조현이는 매주 점수가 2배씩 상승하지만,
노력파인 종원이는 종현이를 이기기 위해 쉬지 않고 연습한 결과 매일 점수가 3배씩
상승하는 능력을 갖추었다.
이때 며칠이 지나야 종원이가 종현이의 점수보다 높아질 수 있을까?

[입력]
첫 번째 줄에 테스트케이스의 수 T(1<= T<=50)가 주어진다.
각 테스트케이스마다 최초 종현이의 점수 A와 종원이의 점수 B가 각각 공백을 두고
주어진다. 단 최초 종현이의 점수 A는 종원잉의 점수 B보다 크거나 같으면 1점
이상 5천점 이하의 점수이다. (A>=B, 1<=B<=5000)

[출력]
각 줄마다 “#T”(T는 테스트케이스 번호)를 출력한 뒤, 종원이의 점수가 종현이의 점수를
추월하게 되는데 필요한 일수를 출력한다.

[sample input]
4
7 1
8 3
4 4
4500 2

[sample output]
#1 5
#2 3
#3 1
#4 20

Soruce


package kosta.algorithm;

import java.util.Scanner;

public class Algo1 {
	
	public static long GetDay(long a, long b){
		
		long day = 1;
		while(true){
			a *= 2;
			b *= 3;
		
			if(a < b) 
				break;
			
			++day;
		}
		
		return day;
	}
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);	
		int whileCount = (sc.nextInt())*2;
		int[] arr = new int[whileCount];
		
		for(int i = 0 ; i < whileCount; i+=2){
			arr[i] = sc.nextInt();
			arr[i+1] = sc.nextInt();
		}
		
		int count = 1;
		for(int i = 0; i < whileCount; i+=2, ++count){
			long result = GetDay(arr[i], arr[i+1]);
			System.out.println("#"+count+" "+result);
		}
	}

}