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

(Питон) Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n*n + 2*n + 1, при n > 25
F(n) = 2*F(n+1) + F(n+3), при чётных n ≤ 25
F(n) = F(n+2) + 3*F(n+5), при нечётных n ≤ 25
Определите количество натуральных значений n из отрезка [1; 1000], для которых значение F(n) не содержит цифру 0.

Я написала программу в чем ошибка?

Приложения:

Ответы

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

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

def F(n):

   if n > 25:

       return n*n + 2*n + 1

   if (n % 2 == 0) and (n <= 25):

       return 2 * F(n + 1) + F(n + 3)

   else:

       return F(n + 2) + 3 * F(n + 5)

count = 0

for n in range(1, 1000 + 1):

   if "0" not in str(F(n)):

       count += 1

print(count)

Объяснение:

В начале, как необходимо по условию, записываем функцию. Проверку на чётность и нечётность делаем с помощью проверки делимости на 2. После окончания функции регистрируем переменную count - здесь будет храниться количество натуральных чисел. С помощью цикла переменная n принимает значения от 1 до 1000 (включительно). Если 0 не находится в полученном числе, увеличиваем значение переменной count на единицу. В конце выводим это значение count.

Результат:

575

#SPJ3

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