Почти шесть лет назад коллега-член PPCG steenslag опубликовал следующую задачу:
В стандартном кубике (кубике) числа расположены так, что противоположные грани добавляют к семи. Напишите самую короткую из возможных программ на предпочитаемом вами языке, которая выдает случайный бросок, за которым следуют 9 случайных подсказок. Опрокидывание - это четверть оборота костей, например, если кость обращена к 5, все возможные опрокидывания равны 1,3,4 и 6.
Пример желаемого результата:
1532131356
Итак, теперь, когда все совершенно забыли об этом и победный ответ давно принят, мы напишем программу для проверки последовательностей опрокидывания, генерируемых представленными решениями. (Это имеет смысл. Просто притворись, что это так.)
Вызов
Ваша программа или функция имеет такую последовательность, как 1532131356
. Убедитесь, что каждая последующая цифра:
- Не равно предыдущему разряду
- Не равно 7 минус предыдущая цифра
(Вам не нужно проверять первую цифру.)
правила
- Ваша программа должна вернуть истинное значение, если введенные данные верны, и значение Falsey противном случае.
- Можно предположить, что ввод состоит только из цифр 1-6 и имеет длину не менее 1 символа. Последовательности не будут иметь фиксированной длины, как в вызове Стинслага.
- Вы можете принять входные данные в виде строки (
"324324"
), массива или массива, подобной структуре данных ([1,3,5]
) или в качестве нескольких аргументов (yourFunction(1,2,4)
).
Применяются стандартные правила ввода / вывода и лазейки .
Контрольные примеры
Truthy
1353531414
3132124215
4142124136
46
4264626313135414154
6
2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323
5414142
Falsey
Повторная цифра
11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411
Противоположная сторона плашки
16 42123523545426464236231321 61362462636351 62362462636361