2014 2015 2016 2017 2018
BEBRO konkurso užduotys 2018

 

Slaptažodžio atspėjimas

Taškai: 6

Bebras kaupia tvirtus rąstus vėlesniam naudojimui ir juos rakina buveinėje. Spyna užrakinama 8 dvejetainių (tik 0 ir 1) skaitmenų ilgio slaptažodžiu. Kartą bebras atvilko puikių klevo ir gluosnio rąstų, užrakino ir ... pamiršo slaptažodį.
Bebro spyna išmanioji: yra ekranas įvedamiems 8 slaptažodžio skaitmenims rodyti, spėjimo mygtukas ir atsako langelis. Įvedus bet kokį slaptažodį ir paspaudus spėjimo mygtuką, atsako langelis rodys štai ką:

  • Jei teisingai atspėti lygiai 4 skaitmenys, bus matomas skaičius 4;
  • Jei teisingai atspėti visi 8 skaitmenys, bus matomas skaičius 8;
  • Bet kuriuo kitu atveju bus matomas brūkšnelis „-“.

Pavyzdžiui, jei Bebras spėjo 10110111, o teisingas slaptažodis yra 11010101, tai atsako langelyje matysime „-“ (tai pavaizduota paveiksle: žalios linijos rodo atspėtus skaitmenis, raudonos – neatspėtus).
Tačiau jei Bebras įvedė 10110110, tai atsako langelyje matysime skaičių 4, o jei įvedė 11010101, tai matysime skaičių 8.
Rodomas bebro spynos ekrano vaizdas:

Padėk bebrui atspėti slaptažodį.

Paaiškinimas

Buvo parinktas teisingas slaptažodis 10111001 (jo teisingumu įsitikinama interaktyviai spaudant skaitmenų mygtukus ).

Kadangi atsakas reikšmingos informacijos pateikia tik tada, kai atspėjame 4 skaitmenis, tai turime bandyti atspėti 4 skaitmenis. Pirmiausia spėjame bet kokią skaitmenų eilutę. Jei joje nėra 4 skaitmenų, tai tarkime, kad yra X teisingų skaitmenų. Invertavę savo spėjimą (kiekvieną 0 keičiame 1, o kiekvieną 1 keičiame 0) ir galų gale gautume eilutę su 8 - X teisingais skaitmenimis. Jei X yra mažiau už 4, tada 8 - X yra daugiau už 4, o jei X yra daugiau už 4, tada 8 - X yra mažiau už 4. Taigi invertuojame pirmąjį skaitmenį ir spėjame, nepavykus, invertuojame antrąjį skaitmenį ir spėjame, tada trečiąjį ir taip toliau, kol atspėsime 4 teisingus slaptažodžio skaitmenis.

Atspėję 4 teisingus skaitmenis, toliau turime nustatyti, kurie skaitmenys yra neteisingi ir atspėti visą slaptažodį. Tai darome invertuodami paeiliui pirmąjį ir antrąjį skaitmenis ir stebėdami atsaką: gali būti 2 arba 6 teisingi skaitmenys (tuomet atsakas bus „-“) arba lieka 4 atspėti skaitmenys. Šitaip sužinosime, kad pirmi du skaitmenys yra arba abu teisingi arba neteisingi (pastaruoju atveju atsakas rodo 4). Tada analogiškus veiksmus atliekame su pirmuoju ir trečiuoju skaitmenimis, toliau – su pirmuoju ir ketvirtuoju skaitmenimis ir t. t. Šitaip galų gale gausime eilutę su visais teisingais skaitmenimis arba su visais neteisingais skaitmenimis – pastarosios visus skaitmenis konvertuotume. Ir atspėjame slaptažodį.

---------------------

Dvejetainė skaičiavimo sistema yra kompiuterio veikimo ir skaičiavimų pagrindas. Kompiuteris bet kurios rūšies informaciją vaizduoja naudodamas dviejų būsenų mechanizmą.

Šiame uždavinyje taip pat svarbu pastebėti, kaip pateikti grįžtamąjį ryšį (atsaką). Pateikę pradinį duomenį ir gavę rezultatą (atsaką), mes galime geriau pasirinkti tolesnius spėjimus.

Atsakymas

Interaktyvu. Skaitmenų reikšmėms keisti spauskite atitinkamus mygtukus, paspaudę spėjimo mygtuką, patikrinsite atsakymą. Galima bandyti kiek norima kartų.

Interaktyvi užduotis