Статья Автор: Дарг Леонард

з2

def rec(s,n):
  global cnt,ans
  if n==0:
    ans.append(s)
    cnt+=1
    return
  rec(s+'0',n-1)
  rec(s+'1',n-1)
  rec(s+'2',n-1)
  rec(s+'3',n-1)

def prnt(i):
  if i==len(ans):
    return
  print(int(ans[i]))
  prnt(i+1)

def rec2(s,n):
  global cnt2
  if n==0:
    ok=True
    for i in range(len(s)-1):
      if s[i] in '02' and s[i+1] in '02':
        ok=False
        break
    if ok:
      cnt2+=1
    return
  rec2(s+'0',n-1)
  rec2(s+'1',n-1)
  rec2(s+'2',n-1)
  rec2(s+'3',n-1)

N=int(input())
cnt=0
ans=[]
rec('',N)
prnt(0)
cnt2=0
rec2('',N)
print(cnt2)
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать