Предмет: Информатика, автор: Ainup

Напишите в питоне пожалуйста

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n, при n ≤ 3

при n > 3:

F(n) = n + F(n–1), при чётном n;

F(n) = n*n + F(n-2), при нечётном n;

Определите количество натуральных значений n, при которых F(n) меньше, чем 10^8.

Ответы

Автор ответа: vimmortal2
1

Программа:
Python:

def F(n):

   if n <= 3:

       return n

   if n > 3:

       if n % 2 == 0: return n + F(n - 1)

       else: return n * n + F(n - 2)

count = 0

while F(count + 1) <= 10**8:

   count += 1

print(count)

Объяснение:

В начале регистрируем функцию F(n). Делаются проверки по условию: сначала если n ≤ 3, после - если n > 3. При выполнении второго условия делается проверка числа на чётность, и на оставшийся последний вариант (если число нечётное).

После выполнения функции регистрируется переменная count. С помощью цикла while увеличиваем значение count до тех пор, пока count + 1 меньше либо равно 10^8 (count + 1   - это и будет натуральное число, которое передаётся функции; натуральные числа начинаются с 1, а мы зарегистрировали count = 0, поэтому нужно прибавить единицу). В конце - вывод count.

Результат:

842

Похожие вопросы
Предмет: Русский язык, автор: учусьненаучусь
Предмет: Математика, автор: Rita20071