Valahol megtalálom ennek a feladatnak a megoldását?
2006-ban emelt érettségi feladat volt:
A Török szultán születésnapján gyönyörű ajándékot kapott. Annyira megörült, hogy rögtön valami jót akart cselekedni. Leküldte hát 400 fős szolgaseregének első szolgáját a börtönbe. Meghagyta neki, hogy mind a 400 cella ajtaját nyissa ki. Lett is nagy riadalom. A börtönőrök rettegtek. Ha szabadon engedik a rabokat, és őfelsége kedve változik, fejüket veszi. Leült hát négyszáz őr a négyszáz nyitott cella elé. Teljesítették is a szultán parancsát, de a rabokat sem engedték szabadon. Igazuk lett. A szultán megharagudott, mert a következő ajándék nem tetszett. Leküldte a második szolgát. Azt parancsolta, minden második ajtót zárjon be. Kisvártatva meggondolta magát, és leküldte a harmadik szolgát, hogy minden harmadik ajtót nyissa ki, ha zárva van, és zárja be, ha nyitva van. Majd leküldte a negyedik szolgát, hogy minden negyedik ajtón változtasson. Aztán az ötödiket, hatodikat és így tovább egészen addig, míg az utolsó, a 400. szolgának azt parancsolta: Menj le és a 400. cellát nyisd ki, ha zárva van, De ha nyitva lenne, akkor zárd be. Így is lett. Azzal a szultán nyújtózott egyet, és lefeküdt aludni. A börtönparancsnok tudta, aznap már több parancs nem jön, és a szultán soha nem vonja vissza azokat a parancsait, amit előző nap adott. Szabadon engedte hát azokat, akiknek a cellája nyitva volt. Kiket is?
Szia.
Klasszikus feladat, klasszikus megoldással : Azok a cellák maradnak nyitva amiknek a száma négyzetszám :
1,4,9,16,25,36,49,64,81,100...stb,stb.
Nem irtad a nyelvet miben kéne megoldani, de leirom mondatszerűben.
1. Kell egy boolean tipusú tömb változó 1-400-ig.
2. Ennek a boolean tömbnek minden egyes elemének igaz kezdő értéket kell adatni (for ciklus 1-től 400-ig egy értékadással)
3. Most inditani kell egy ciklust 2-től 400-ig (ez szimulálja szolgákat)
4. most egy belső ciklust kell inditani a külső ciklus kezdőértékétől 400-ig és a lépésköz a külső ciklus aktuális értéke.
5. A boolean tömb belső ciklus-adik elemét tagadással megváltoztatom (tomb[j]:=not (tomb[j]))
6. belső ciklus vége.
7. külső ciklus vége.
8. ciklus 1-től 400-ig és ahol a tomb[i]-dik elem igaz ott kiirod az i értékét.
Sok sikert.
Üdv.
Köszönöm, de már megírtam magamtól :)
Ha jól emlékszem informatikai alapismeretek
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!