2. naloga

Ključ

Ključ za običajno cilindrično ključavnico ima šest zarez, globina vsake se mora ujemati z dolžino istoležnega zatiča v ključavnici, da se ključavnica lahko odklene. Zareze niso poljubno globoke, ampak proizvajalec predpisuje določene pogoje, ki jih morajo globine zarez izpolnjevati, da lahko nek tip ključavnice deluje pravilno in zanesljivo ter da se lahko ključ vanjo vstavi in izvleče brez zatikanja. Možnih je deset različnih globin, označenih s številko med 0 in 9.

  1. dovoljene so le globine med 1 in 8;
  2. globini sosednjih dveh zarez se lahko razlikujeta za največ 5 (globina 2 na primer ne sme biti sosednja globini 8; to pravilo zagotavlja, da se ključ ne more zatakniti pri vstavljanju ali odstranjevanju);
  3. dve sosednji zarezi ne smeta imeti enake globine;
  4. nobena globina zareze se ne sme pojaviti več kot dvakrat.

Napiši podprogram (funkcijo), ki bo kot argument prejel celoštevilčno kodo ključa (na primer: 597969). Desetiške števke tega števila predstavljajo šest globin zarez. Lahko je prvih nekaj števk enakih 0 (na primer: število 123 predstavlja kodo 000123). Za vsako od naštetih štirih pravil naj podprogram izpiše, ali je pravilo izpolnjeno ali ne.

Primer: 597969 ustreza drugemu in tretjemu pogoju, ne pa prvemu (ker v njem niso samo števke od 1 do 8) in četrtemu (ker se števka 9 pojavlja trikrat).