Zgadnij liczbę: jak zawsze trafić w 10 próbach?

„Pomyślałem liczbę od 1 do 1000. Zgadnij!” Większość uczniów zaczyna od 7, 42 albo swojego numeru w dzienniku. A wystarczy jeden prosty sposób, żeby zawsze zgadnąć w najwyżej 10 próbach. Ten sam sposób wykorzystują programy, bazy danych i każdy z nas, gdy szuka słowa w słowniku.

Przygotowałem aplikację, w której uczniowie mogą to sprawdzić na własnej skórze:

👉 Otwórz Zgadnij liczbę: zgadnij.komputerowka.pl

📘 Instrukcja obsługi: komputerowka.pl/zgadnij-liczbe-doc


Sposób: pytaj o środek

Zamiast strzelać, zapytaj o środek tego, co zostało:

PróbaPrzedziałPytam oOdpowiedź
11–1000500za mało
2501–1000750za mało
3751–1000875za dużo
4751–874812za dużo
5751–811781za dużo
6751–780765za mało
7766–780773za mało
8774–780777🎯 trafione!

Każda odpowiedź „za mało / za dużo” odrzuca połowę liczb. Z 1000 zostaje 500, potem 250, 125, 62… Po 10 krokach nie zostaje już nic do odrzucenia.

To jest wyszukiwanie binarne, inaczej połówkowe.

Dlaczego akurat 10?

Odwróćmy pytanie: ile liczb da się zgadnąć, mając określoną liczbę pytań? Każde dodatkowe pytanie podwaja tę liczbę:

PytańLiczb
122¹
4162⁴
71282⁷
1010242¹⁰, czyli ponad tysiąc
201 048 576ponad milion
30ponad miliard
338,6 miliardakażdy człowiek na Ziemi

To te same potęgi dwójki, co w bitach. #Matematycy nazywają to logarytmem: dla n liczb wystarczy ok. log₂ n pytań.

Po kolei czy na pół?

Najprostszy sposób szukania to #wyszukiwanie liniowe: sprawdzam po kolei od początku. Działa zawsze, ale bywa bardzo wolne:

ElementówLiniowe (najgorzej)Binarne (najgorzej)
1001007
1000100010
1 milion1 milion20
1 miliard1 miliard30

Gdy danych przybywa dwa razy, binarne potrzebuje tylko jednego kroku więcej. #Informatycy zapisują to jako złożoność O(log n).

Haczyk: dane muszą być posortowane

#Wyszukiwanie binarne działa tylko wtedy, gdy dane są uporządkowane. W słowniku „żyrafa” jest na końcu, więc otwierając go w środku, na „małpie”, wiemy, że trzeba szukać dalej. Ale co, jeśli słownik ktoś pomiesza?

W aplikacji jest słownik 66 zwierząt. W posortowanym #komputer znajduje każde zwierzę w najwyżej 7 krokach. Po pomieszaniu słownika wyszukiwanie binarne nie znajduje słowa, które w nim jest, w ok. 9 na 10 prób. Dlatego sortowanie i wyszukiwanie zawsze idą w parze.

Trochę historii

  • 1946: John #Mauchly opisuje wyszukiwanie binarne w wykładach o pierwszych komputerach elektronicznych.
  • 1960: pojawia się wersja działająca dla dowolnej liczby elementów.
  • 1986: Jon #Bentley pisze, że większość zawodowych programistów, których poprosił o napisanie wyszukiwania binarnego, popełniła błąd.
  • 2006: Joshua #Bloch z #Google opisuje błąd w liczeniu środka, który latami siedział m.in. w bibliotece Javy.

Pomysł jest prosty, ale łatwo pomylić się o jeden: przy granicach przedziału albo przy liczeniu środka.


Wypróbuj Zgadnij liczbę

  • 🎯 Ty zgadujesz: zakresy 1–100, 1–1000 i 1–1 000 000, oś liczb z kurczącym się przedziałem, podpowiedź „środek” i rekordy.
  • 🤖 Teraz komputer zgaduje: pomyśl liczbę, a komputer trafi w najwyżej 10 pytaniach. Spróbuj go oszukać!
  • 🏁 Wyścig: wyszukiwanie liniowe kontra binarne na 64 liczbach.
  • 📖 Słownik zwierząt: szukanie słowa krok po kroku i pomieszany słownik.
  • ✖️ Każde pytanie podwaja moc: potęgi dwójki.
  • ❓ Quiz z 10 pytaniami.

👉 Uruchom Zgadnij liczbę: zgadnij.komputerowka.pl

📘 Instrukcja z pomysłami na lekcję: komputerowka.pl/zgadnij-liczbe-doc

Wyzwania

  1. Zgadnij liczbę od 1 do 1000 w najwyżej 10 próbach. A od 1 do miliona w 20?
  2. Pomyśl liczbę 1000. Ile pytań potrzebuje komputer? A dla 500?
  3. Odpowiadaj komputerowi same „większa”. Co się stanie po 10 pytaniach?
  4. W wyścigu: czy wyszukiwanie liniowe może wygrać z binarnym? Kiedy?
  5. Dla ambitnych: pomieszaj słownik i znajdź zwierzę, które binarne mimo to odnajdzie. Dlaczego się udało?

Powodzenia!


Zobacz też: wszystkie aplikacje, Wyścig sortowania, Żarówki binarne, GPS po Gdańsku, Wykrywacz błędów i Jak uczy się AI.

© 2026 Komputerowka.pl · Arnold Basiński

error: Treść jest chroniona !!

Arnold Basiński

Komputerowka.pl

Versja: 1.0.1

komputerówka.pl | Radość programowania

Napisz wiadomość

Smok Heighwaya | Klasówki i Kartkóki online
Krzywa Hilberta | Kartkówki i Klasówki online
Dywan Sierpińskiego | Kartkówki i Klasówki online
Drzewo Pitagorada | Kartkówki i Klasówki online
FRaktale Juli | Klasówki i Kartkówki online
Zbiór Mandelbrota | Klasówki i kartkówki online
Trojkat Sierpińskiego | Kartkówki i klasówki online
Płatek Kocha | Kartkówki i klasówki online