Помогите написать/исправить код
Определите наименьшее значение n, при котором сумма чисел, которые будут выведены при вызове F(n), будет больше 5000000. Запишите в ответе сначала найденное значение n, а затем через пробел – соответствующую сумму выведенных чисел.
def F( n ):
print(2*n+1)
if n > 1:
print(3*n-8)
F(n-1)
F(n-4)
есть код, но он выдает не те числа (ответ должен быть 40)
def f(n):
global s
s=s+(2*n+1)
if n>1:
s=s+(3*n-8)
f(n-1)
f(n-4)
s=0
for n in range(10,60):
f(n)
if s>5000000:
print(n, s)
break
По дате
По Рейтингу
123456789101112
def F(n):
if n <= 0:
return 0
else:
return 2 * n + 1 + 3 * n - 8 + F(n - 1) + F(n - 4)
n = 1
while F(n) < 5000000:
n += 1
result = F(n)
print(n, result)
1234567891011121314151617
def f(n):
global s
s = s + (2*n + 1)
if n > 1:
s = s + (3*n - 8)
if n > 1:
f(n - 1)
if n > 4:
f(n - 4)
s = 0
for n in range(10,60):
f(n)
if s > 5000000:
print(n, s)
break
Больше по теме