728x90
반응형
package loop;
import java.util.Random;
public class Ex07 {
public static void main(String[] args) {
// 탐색
//순차탐색(sequential search) : 처음부터 순서대로 하나씩 값을 비교해나가는 방식
//이진탐색(binary search) : 중간값을 찾아나가면서, 값의 범위를 좁혀나가는 방식
Random ran = new Random();
int cnt = 0;
int min =1;
int max = 10000;
int answer = ran.nextInt(max) +1;
int seq = min;
while(true) {
cnt++;
if(seq == answer ) break;
else {seq++;}
}
System.out.println("seq : "+ seq + " cnt : "+ cnt);
int bin = min + max/2;
cnt =0;
while(true) {
bin = (min + max)/2;
cnt++;
if(bin > answer) {
max = bin;
}
else if(bin < answer ) {
min = bin;
}
else {
break;
}
}
System.out.println("bin : "+ bin + " cnt : "+ cnt);
}
}
728x90
반응형
'회고록' 카테고리의 다른 글
[국비지원과정17] JAVA - 반복문 For (0) | 2023.05.23 |
---|---|
[국비지원과정16] JAVA - 등차수열 알고리즘 (0) | 2023.05.22 |
[국비훈련과정14] JAVA - 369게임 (0) | 2023.05.22 |
[국비훈련과정13] while 과 for (0) | 2023.05.22 |
[국비훈련과정13] if 와 while (0) | 2023.05.22 |