Найти количество цифр на отрезке подходящий по условию.Python 3
пока лишь удалось написать код проверки через функцию и вывести результаты. Не понимаю как сделать проверку наличия двух 8 в строке результата функции
def F(n):
if(n<=5):
s=n+15
return s
if((n>5) and (n%2==0)):
s=(n//2)+(n**3)-1
return s
if((n>5)and(n%2==1)):
s=(n-1)+(2*n*n)+1
return s
потом просто перебором вывожу результат
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Функция написана неверно, отсутствуют рекурсивные вызовы
def F(n):
if(n<=5):
return n+15
elif (n%2==0):
return F(n//2) + n*n*n - 1
else:
return F(n-1) + 2*n*n + 1
А для получения количества восьмёрок можно либо посчитать их в строковом представлении результата
count8 = str(F(i)).count("8")
либо использовать остаток от деления на 10
k = F(i)
count8 = 0
while k:
if k%10==8:
count8 +=1
k //= 10
