1. QUESTION

 

1~100 숫자중에 입력하며 컴퓨터가 최소의 알고리즘으로 찾아내는 프로그램좀 부탁드릴께요.

감도 못잡고 있습니다.

도와주세요ㅠㅠ

부탁드립니다.

 

 

2. CLASS


import java.util.Scanner;


public class test_010 {


  private static Scanner sc;

  public static void main(String[] args) {


    sc = new Scanner(System.in);
    int high = 100;
    int low = 0;
    int gu = 0;
    int inp;
       
    System.out.println(low + " 부터 " + high + " 사이의 숫자 입력");
    inp = sc.nextInt();
   
    while(true){
      String con = "";
      gu = Math.round(high+low)/2;
   
      if(gu == inp){
        System.out.println("당신이 입력한 번호는 : " + gu);
        break;
      }else if(gu > inp){
        con = "낮다.";
        high = gu;  
      }else if(gu < inp){
        con = "높다.";
        low = gu;
      }else{
        System.out.println(low + " 부터 " + high + " 사이의 숫자만 입력!!");
      }
    
      System.out.println("당신이 입력한 번호는 "+ gu + " 보다 " + con + "\n");
    }
  }
}

 

 

3. RUN


0 부터 100 사이의 숫자 입력
46
당신이 입력한 번호는 50 보다 낮다.

당신이 입력한 번호는 25 보다 높다.

당신이 입력한 번호는 37 보다 높다.

당신이 입력한 번호는 43 보다 높다.

당신이 입력한 번호는 : 46