Последовательность посчитай и скажи , также известная как последовательность посмотри и скажи , представляет собой следующую последовательность чисел:
1 , 1 1 , 2 1 , 1 2 1 1 , 1 1 1 2 2 1 , 3 1 2 2 1 1 , . . . 1, 11, 21, 1211, 111221, 312211, … 1,11,21,1211,111221,312211, …
Начиная с 1 1 1, лучший способ сгенерировать следующее число в последовательности — прочитать цифры предыдущего числа, а затем посчитайте количество цифр в группах той же цифры. Например:
Реализация
- countAndSay принимает в качестве аргумента член последовательности «подсчитай и скажи» и возвращает элемент в последовательности .
- Внешний цикл перебирает строку аргумента
curr
. Внутренний цикл подсчитывает, сколько раз повторяется текущая цифра; это сохраняется в переменнойcount
. - Когда встречается другая цифра, счетчик и сама текущая цифра добавляются к
result код>. Например, если 33 3 один были подсчитаны до того, как функция обнаружила 2 2 2, затем « 3 1 31 31 ”будет прикреплен к
результату
.
- Python3
- Python3
- Python3
- C ++
- C ++
- C #
- C #
# Учитывая значение 'curr', эта функция возвращает значение #, которое приходит after 'curr' в look-and-say seq.def countAndSay (curr): result = "" # чтобы сохранить термин после 'curr' i = 0 # чтобы перебрать 'curr' # нужно перебрать 'curr ', а также подсчитать # количество цифр, которые встречаются в той же группе, пока i