Kurzusok
/
Delphi Pascal
Delphi Pascal
/
Feladatok
/
Titkos kézfogás
Titkos kézfogás

Titkos kézfogás

Könnyű

Bevezetés

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.

Utasítások

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:

  • A 9 binárisan 1001.
  • A legjobbra eső számjegy 1, ezért az első művelet a wink.
  • Balra haladva a következő számjegy 0, ezért nem lesz double blink.
  • Megint balra haladva a következő számjegy 0, ezért nyitva hagyod a szemed.
  • Újra balra haladva a következő számjegy 1, ezért a jump következik.

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:

  • double blink
  • jump
  • a műveletek megfordítása

A 26 titkos kézfogása tehát:

jump, double blink
Note

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

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Delphi Pascal Exercism

Készen állsz elkezdeni a(z) Titkos kézfogás feladatot?

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.