Prawie sześć lat temu kolega PPCG, steenslag, opublikował następujące wyzwanie:
W standardowych kościach (kostkach) liczby są ułożone w taki sposób, że przeciwne twarze dodają siedem. Napisz najkrótszy możliwy program w preferowanym języku, który generuje losowy rzut, po którym następuje 9 losowych napiwków. Przechylenie to ćwierć obrotu kostki, np. Jeśli kostka jest skierowana w stronę 5, wszystkie możliwe przechylenia to 1,3,4 i 6.
Przykład pożądanej wydajności:
1532131356
Tak więc teraz, gdy wszyscy całkowicie o tym zapomnieli, a zwycięska odpowiedź już dawno została zaakceptowana, będziemy pisać program do sprawdzania sekwencji przechylania matryc generowanych przez przesłane rozwiązania. (To ma sens. Udawaj, że tak.)
Wyzwanie
Twój program lub funkcja ma taką sekwencję jak 1532131356
. Sprawdź, czy każda kolejna cyfra to:
- Nie równa poprzedniej cyfrze
- Nie równa 7 minus poprzednia cyfra
(Nie musisz sprawdzać poprawności pierwszej cyfry.)
Zasady
- Twój program musi zwrócić wartość prawdy, jeśli dane wejściowe są poprawne, a w przeciwnym razie wartość falsey .
- Możesz założyć, że dane wejściowe składają się tylko z cyfr 1-6 i mają co najmniej 1 znak. Sekwencje nie będą miały ustalonej długości jak w wyzwaniu steenslag.
- Dane wejściowe można traktować jako string (
"324324"
), tablicę lub podobną do tablicy strukturę danych ([1,3,5]
) lub jako wiele argumentów (yourFunction(1,2,4)
).
Obowiązują standardowe zasady we / wy i luki .
Przypadki testowe
Prawda
1353531414
3132124215
4142124136
46
4264626313135414154
6
2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323
5414142
Falsey
Powtarzana cyfra
11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411
Przeciwna strona umiera
16 42123523545426464236231321 61362462636351 62362462636361