Titkos programozóklubot indítasz néhány barátoddal és barátaid barátaival. Nem mindenki ismeri egymást, ezért te és a barátaid úgy döntöttetek, hogy kitaláltok egy titkos kézfogást, amivel felismerhetitek, hogy valaki tag. Nem szeretnéd, hogy bárki, aki nincs beavatva, meg tudja fejteni a kódot.
Úgy tervezted meg a kódot, hogy az egyik ember mond egy számot 1 és 31 között, a másik pedig ezt egy sor mozdulattá alakítja.
A feladatod, hogy egy 1 és 31 közötti számot a titkos kézfogás műveleteinek sorozatává alakíts.
A műveletek sorozatát úgy választjuk ki, hogy a szám binárisra váltása után megnézzük a jobb szélső öt számjegyét. A jobb szélső számjegytől indulj, és haladj balra.
Az egyes helyiértékekhez tartozó műveletek:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
Nézzük meg a 9-es számot példaként:
1001.wink.Ez volt az utolsó számjegy, így a végső kód:
wink, jump
A 26-os szám esetében, amely binárisan 11010, a következő műveleteket kapjuk:
A 26 titkos kézfogása tehát:
jump, double blink
Ha nem vagy biztos benne, mi is a bináris rendszer, vagy hogyan működik, nézd meg [ezt a bináris bemutatót][intro-to-binary]. [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Delphi Pascal nyelvet 76 feladat segítségével, valódi emberi mentorálással, mindez ingyen.