총 512페이지의 전화번호부에서 '이펭수'은 64페이지에 있습니다. 책의 절반씩을 찾아보는 두 번째 알고리즘을 사용한다면, '이펭수'을 찾기 위해 페이지를 몇 번 찾아봐야 할까요?
import java.util.Scanner;
public class test {
private static int num;
private static int count = 1;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
checkNum(0,512);
System.out.println(count);
}
private static void checkNum(int min,int max) {
int mid = (min+max)/2;
if(mid == num){
System.out.println(mid);
}
else if (mid<num){
count++;
checkNum(mid,max);
}
else {
count++;
checkNum(min,mid);
}
}
}

입력문자
찾는 문자 출력
횟수
'CS > 이론공부' 카테고리의 다른 글
| CS - 검색 알고리즘 (0) | 2022.06.23 |
|---|---|
| CS - 컴파일 (0) | 2022.06.23 |
| CS - 알고리즘 (0) | 2022.06.23 |
| CS - 아스키(ASCII)코드 (0) | 2022.06.23 |
| CS - 비트 (0) | 2022.06.23 |