Форум » Кодирование и декодирование информации » 8-32 не сходится ответ. » Ответить

8-32 не сходится ответ.

Мио: from itertools import * s = 'abcd' p = set() for c in product(s, repeat = 3): a = ''.join(c) if 'a' not in a and 'bc' not in a and 'cb' not in a: p.add(a) if 'ad' in a or 'da' in a: p.add(a) print(len(p)) ответ 31. а в ответах 29 Что не так? Может я не правильно понял условие?

Ответов - 2

s11kai: Мио пишет: Может я не правильно понял условие? Вполне вероятно, попробуй от обратного, например, так:[pre2] from itertools import product s = product('ABCD',repeat=3) n=4*4*4 for x in s: if (x[0]=='A' and x[1]!='D') or (x[1]=='A' and (x[0]!='D' or x[2]!= 'D')) \ or (x[2]=='A' and x[1]!='D') or (x[0]=='C' and x[1]=='B') or (x[0]=='B' and x[1]=='C') : n -= 1 print(n) [/pre2]

s11kai: а можно так: [pre2] n=4*4*4 for a in range(0,4): for b in range(0,4): for c in range(0,4): if (b==0 and a!=3 and c!=3)or(a==0 and b!=3)or(c==0 and b!=3) \ or(a==1 and b==2 or a==2 and b==1 or b==2 and c==1 or c==2 and b==1 ) : n=n-1 print(n) [/pre2] выбирай на свой вкус



полная версия страницы