Здравствуйте!
На задачу 4109 не могу формализовать условие. Программа ниже.
Что я в ней упускаю? С функцией f(x,p,m) ничего не выдаёт.
Помогите, пожалуйста.
def f(x,p,m):
if 50<=x<=70: return p%2==m%2
if p==m: return 0
h=[f(x+1,p+1,m),f(x*2,p+1,m)]
if (p+1)%2==m%2: return any(h)
else: return all(h)
def f1(x,p,m):
if 50<=x<=70: return p%2==m%2
if p==m: return 0
h=[f1(x+1,p+1,m),f1(x*2,p+1,m)]
return any(h)
print('19)', min(s for s in range(1,50) if f1(s,0,2)))
print('20)', *[s for s in range(1,50) if f1(s,0,3) and not f1(s,0,1)])
print('21)', *[s for s in range(1,50) if (f1(s,0,2) or f1(s,0,4)) and not f1(s,0,2)])