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

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

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

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



Сообщение: 7
ссылка на сообщение  Отправлено: 23.04.23 21:19. Заголовок: Тип 12 № 319 (№ 5914) (А. Игнатюк)


Дана программа для Редактора:
ПОКА нашлось (31) ИЛИ нашлось (33) ИЛИ нашлось (21)
ЕСЛИ нашлось (31)
ТО заменить (31, 123)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(33)
ТО заменить (33, 211)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (21)
ТО заменить (21, 1)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА

На вход программы поступает строка, содержащая сначала 15 цифр 3, затем 18 цифр 2, а затем n цифр 1 (n > 0). При каком минимальном значении n в строке, полученной в результате работы программы, сумма цифр будет более 24?

При решении задачи получаем такие результаты:
n сумма
1 56
6 25
8 27
10 29
...
При n=1 уже получаем больше 24, а при N=6 ближайшее к 24 число.
Так что же надо дать в ответ?

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







Сообщение: 26
ссылка на сообщение  Отправлено: 23.04.23 21:51. Заголовок: for n in range(1,100..


for n in range(1,1000): 
x = '3' * 15 + '2' * 16 + '1' * n
while ('31' in x) or ('33' in x) or ('21' in x):
if '31' in x:
x=x.replace('31','123',1)
if '33' in x:
x=x.replace('33','211',1)
if '21' in x:
x=x.replace('21','1',1)
if x.count('1')+x.count('2') *2+x.count('3')*3>24:
print(n)
break


Программа делает, не то что хочет программист, а то что он ей приказал делать. Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 8
ссылка на сообщение  Отправлено: 24.04.23 12:22. Заголовок: Спасибо. Решение так..


Спасибо. Решение такое же, в исходной строке ошиблась

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

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