+ 1

Рекурсивная функция

В алфавите языке племени тумба юмба четыре буквы M,O,A,R. Посчитайте кол-во все возможных слов, состоящих из (2<= К<=10) букв, в которых есть как минимум 2 одинаковые буквы, стоящие рядом. Формат входных данных: Число К - кол-во букв в слове. Формат выходных данных: Вывести общее количество слов Пример: Входные данные: 4 Выходные данные: 148 Подсказка: не обязательно писать рекурсию, можно как то алгебраически комбинации составить, но у меня не выходит...например была задача, где надо тоже вывести количество слов, где второй буквой является опрделенная буква.. и я просто написала n=int(input()) a=1 for i in range(n-1): a*=4 print(a) Вот так просто, главное чтобы цифра вышла и все

21st Dec 2022, 7:59 AM
sakkikoishi
sakkikoishi - avatar
4 ответов
0
Эх, все равно когда ввожу def f(n): if n==2: return 4 if n>2: return n*(n**(n-1)-(n-1)**(n-1)) n=int(input()) print(f(n)) Сайт говорит там ошибка...хотя там вроде бы все правильно....вот такой капризный
21st Dec 2022, 8:42 AM
sakkikoishi
sakkikoishi - avatar
0
Если что при вводе числа 2 выводится число 4
21st Dec 2022, 8:42 AM
sakkikoishi
sakkikoishi - avatar
0
Согласен, у меня все задачи работающие со строками, если работают, то через костыли
22nd Dec 2022, 2:21 PM
Владислав Пономарёв
Владислав Пономарёв - avatar
0
А так, (я питон плохо знаю) def f(n) if n==2 return 4 else return 4*f(n-1) in=int(input()) print(f(in))
22nd Dec 2022, 2:25 PM
Владислав Пономарёв
Владислав Пономарёв - avatar