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

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n + 3, при n ≤ 18
F(n) = (n//3)*F(n//3) + n - 12, при n > 18, кратных 3
F(n) = F(n-1) + n*n + 5, при n > 18, не кратных 3
Здесь // обозначает деление нацело. Определите количество натуральных значений n из отрезка [1; 800], для которых все цифры значения F(n) чётные.

НА ПИТОНЕ!

Ответы

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

def F(n):

   if n <= 18:

       return n+3

   elif n>18 and n%3!=0:

       return F(n-1) + n*n + 5

   else:

       return (n//3)*F(n//3) + n - 12

def help(numb):

   for i in str(numb):

       if int(i)%2==0:

           pass

       else:

           return False

   return True

count=0

for i in range(1,801):

   if help(F(i)):

       count+=1

print(count)


tutu007: Я правильно понял, что цифры числа должны быть четными: 2468 - Да
3521 - Нет
kroflay921: Сам не понимаю. Ответ задания 16, а выходит 488.
tutu007: в моем варианте выходит 8, где вы 488 нашли?
tutu007: изменил исключение нуля, теперь выдает 16
Похожие вопросы
Предмет: Окружающий мир, автор: Аноним
Предмет: Английский язык, автор: ferty4
Предмет: Русский язык, автор: vadikorlon
Предмет: Математика, автор: Алина111илпм