На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 26.04.22 21:03. Заголовок: 12_4978


Есть вопрос: если в задании не сказано "порядок не известен", то можно считать что идут 1-цы потом 2-ки и 3-ки?
 
s1=[]
k=0
for i in range(1,50):
for j in range(1,50):
for k in range(1,50):
s1='0'+'1'*i+'2'*j+'3'*k+'0'
s2=s1
while '00' not in s1:
s1=s1.replace('01','21022',1)
s1=s1.replace('02','310',1)
s1=s1.replace('03','230112',1)
if s1.count('1')==104 and s1.count('2')==39 and s1.count('3')==83:
k=len(s2)
break


print(k)

Что не так?
или

 

import itertools
k=0
for x in range(1,20):
for y in range(1,20):
for z in range(1,20):
s=x*'1'+y*'2'+z*'3'

for i in itertools.permutations(s):
s1='0'+''.join(i)+'0'
s2=s1
while '00' not in s1:

s1=s1.replace('01','21022',1)

s1=s1.replace('02','310',1)

s1=s1.replace('03','230112',1)


if s1.count('1')==104 and s1.count('2')==39 and s1.count('3')==83:
k=len(s2)
break
else:
continue
print(s2)
print(k)




Спасибо: 0 
Цитата Ответить
Ответов - 5 [только новые]


Администратор




Сообщение: 3507
ссылка на сообщение  Отправлено: 26.04.22 21:11. Заголовок: Anna_Lapsha пишет: е..


Anna_Lapsha пишет:
 цитата:
если в задании не сказано "порядок не известен", то можно считать что идут 1-цы потом 2-ки и 3-ки?

Это не гарантируется. В каких-то задачах при этом может получиться неправильный ответ.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 26.04.22 21:16. Заголовок: значит можно использ..


значит можно использовать перестановки и второй вариан задачи?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 26.04.22 22:10. Заголовок: Если по Н. Титов: ..


Если по Н. Титов:
 

d=0
for i in range(0,100):
for j in range(0,100):
for k in range(0,100):
if (3*i + 1*j + 2*k == 104 and
1*i + 0*j + 1*k == 39 and
7*i + 3*j + 6*k == 83):
d=(i+j+k)
print(d)


Так?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 26.04.22 22:20. Заголовок: Что не так? d1=d2=d..


Что не так?
 
d1=d2=d3=0
for i in range(0,100):
for j in range(0,100):
for k in range(0,100):
if (3*i + 1*j + 2*k == 104 and
1*i + 0*j + 1*k == 39 and
7*i + 3*j + 6*k == 83):
d1=i
d2=j
d3=k
s='0'+d1*'1'+d2*'2'+d3*'3'
s1=s
while '00' not in s1:
s1=s1.replace('01','21022',1)
s1=s1.replace('02','310',1)
s1=s1.replace('03','230112',1)
if s1.count('1')==104 and s1.count('2')==39 and s1.count('3')==83:
print(len(s))
break
if len(s)-2==d1+d2+d3:
print('верно')


Спасибо: 0 
Цитата Ответить
Администратор




Сообщение: 3512
ссылка на сообщение  Отправлено: 28.04.22 09:54. Заголовок: Вы транспонировали м..


Вы транспонировали матрицу. Надо так:
 d=0 
for i in range(0,100):
for j in range(0,100):
for k in range(0,100):
if (3*i + 1*j + 7*k == 104 and
1*i + 0*j + 3*k == 39 and
2*i + 1*j + 6*k == 83):
d=(i+j+k)
d1 = i
d2 = j
d3 = k
print(d)

s='0'+d1*'1'+d2*'2'+d3*'3'+'0'
s1=s
while '00' not in s1:
s1=s1.replace('01','21022',1)
s1=s1.replace('02','310',1)
s1=s1.replace('03','230112',1)
if s1.count('1')==104 and s1.count('2')==39 and s1.count('3')==83:
print(len(s))
break
if len(s)-2==d1+d2+d3:
print('верно')


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1374
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет