Czy dobrze jest napisany kod który z 1000 liczb trafi tę którą wybrało się w najkrótszym czasie ? Mógłby ktoś rzucić okiem?

0

Zastanawia mnie czemu tak szybko udaje się wylosować tą liczbę za np 15, 10 proba skoro tyle jest możlwiosci a nie np za 800 probą.

package algorytmika;
import java.util.*;


public class Losowanie1 {
  
   public static void main(String[] args) {
   
   int d=0;//minimalna liczba którą możemy wylosować
   int g=999;//maksymalna liczba która możemy wylosować
   System.out.println("Program wylosuje liczbe z przedzialu 0-999");
   Random los = new Random ();
   int i = los.nextInt(1000);//losujemy liczbę której będziemy próbować zgadnąć
   System.out.println("Wylosowana liczba to " + i);
   System.out.println();
   
   int j=1000;//do pierwszej pętli while bierze wartość 1000
   int p=0;//to licznik prób
   while (i!=j)
   {
       j = los.nextInt(g-d+1)+d;
       p++;
       
       if (i>j)
       {
           d=j+1;
       }
       
       if (i<j)
       {
           g=j-1;
       }    
   }
   System.out.println("Wylosowana liczba została odgadnięta za " + p +  " próbą");
   }
   }
0

Dobra juz nieważne,dzieki :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1