Автор | Сообщение |
|
Отправлено: 20.01.24 22:58. Заголовок: №6896 задание 8
Я считаю что ответ в этом задании не верен, а именно 28239 Мой ответ 28617, поправьте пожалуйста, если не прав. Вот код: a={0:'А',1:'Г',2:'И',3:'Л',4:'М',5:'О',6:'Р',7:'Т'} k=0 for x in range(len(a)): for y in range(len(a)): for z in range(len(a)): for w in range(len(a)): for q in range(len(a)): st=str(x)+str(y)+str(z)+str(w)+str(q) k+=1 if st[0]!='7' and st.count('1')==2 and int(st,8)%2!=0: print(st,int(st,8)) print(k)
|
|
|
Ответов - 2
[только новые]
|
|
|
Отправлено: 21.01.24 09:04. Заголовок: Мне кажется основная..
Мне кажется основная ошибка, что Вы не учли, что буквы расположены в алфавитном порядке. k=0 i=0 for a in "агилмор": for b in "агилморт": for c in "агилморт": for d in "агилморт": for e in "агилморт": s=a+b+c+d+e i=i+1 if i%2!=0 and s.count("г")==2: print(i)
|
|
|
|
Отправлено: 21.01.24 14:30. Заголовок: Вы проверяете на неч..
Вы проверяете на нечетность не номер слова, а результат его перевода в 8-ричную систему счисления. a={0:'А',1:'Г',2:'И',3:'Л',4:'М',5:'О',6:'Р',7:'Т'} k=0 for x in range(len(a)): for y in range(len(a)): for z in range(len(a)): for w in range(len(a)): for q in range(len(a)): st=str(x)+str(y)+str(z)+str(w)+str(q) k+=1 if st[0]!='7' and st.count('1')==2 and k%2!=0: print(st,int(st,8),k) Вот более компактный код: from itertools import * al='АГИЛМОРТ' for i,c in enumerate(product(al,repeat=5)): if c[0]!='Т' and c.count('Г')==2 and (i+1)%2==1: print(i+1,''.join(c))
|
|
|
|