Автор | Сообщение |
|
Отправлено: 18.04.20 19:14. Заголовок: Задание 14. №241 Не сходится ответ.
Дана программа для Редактора: НАЧАЛО ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3) ЕСЛИ нашлось (>1) ТО заменить (>1, 22>3) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>2) ТО заменить (>2, 2>) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>3) ТО заменить (>3, 11>2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем со-держащая 14 цифр 1, 20 цифр 2 и 25 цифр 3, расположенных в произвольном порядке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения про-граммы. s = ">"+"1"*14+"2"*20+"3"*25 a1 = ">1"; a2 = "22>3" b1 = ">2"; b2 = "2>" c1 = ">3"; c2 = "11>2" v=0 while a1 in s or b1 in s or c1 in s: if a1 in s: s = s.replace(a1, a2, 1) if b1 in s: s = s.replace(b1, b2, 1) if c1 in s: s = s.replace(c1, c2, 1) for i in range (1,len(s)-1): v+=int(s) print(s) print(v) У меня получается 250, в ответе 400. Что не так?
|
|
|
Ответов - 7
[только новые]
|
|
|
Отправлено: 18.04.20 19:42. Заголовок: У вас задание с ошиб..
Я бы сказал что ответ 252 for i in range (0,len(s)-1): v+=int(s)
|
|
|
|
Отправлено: 18.04.20 20:00. Заголовок: Строка заканчивается..
Строка заканчивается на ....2>. Последний символ будет ">", поэтому len(s)-1 написал
|
|
|
|
Отправлено: 18.04.20 20:16. Заголовок: Тогда вы первую цифр..
Тогда вы первую цифру теряете. В общем, ответ 252, тк из 1 будет 22112, и 2 будет 2, из 3 будет 112
|
|
|
|
Отправлено: 18.04.20 20:26. Заголовок: Да заметил) что теря..
Да заметил) Правильно будет так, и ответ 252. for i in range (len(s)-1): v+=int(s) Благодарю!
|
|
|
|
| Администратор
|
Сообщение: 2054
|
|
Отправлено: 18.04.20 22:39. Заголовок: Спасибо, ответ испра..
Спасибо, ответ исправлен.
|
|
|
|
Отправлено: 19.04.20 16:56. Заголовок: задача 14.242
Задача 14.242 Возьмем «короткую строку» из заданных цифр в произвольном порядке: >231 2>3 1 211>21 2112>1 211222>3 21122211>2 211222112> Т.о. из строки 231 получилась строка 211222112 В ней 5 «2» и 4 «1», а «3» - нет. Значит, число «1» выросло в 4 раза, число «2» - в 5 раз, а «3» ушла. Применим к условию задачи: 25 цифр 1, 17 цифр 2 и 10 цифр 3. Получим в результате: 25*4= 100 единиц и 17*5 = 85 двоек. Сумма равна 100+170=270. Ответ в задаче: 274 Где ошибка?
|
|
|
|
Отправлено: 19.04.20 18:04. Заголовок: >1 22>3 ..
Цифр не одинаковое количество, нужно разобрать каждую отдельно. >1 22>3 2211>2 22112> >2 2> >3 11>2 112> Из 1 стала 8, из 2 стала 2, из тройки стала 4. 25*8 + 17*2 + 10*4 = 274 Ответ верный.
|
|
|
|