Автор | Сообщение |
|
Отправлено: 26.08.22 00:09. Заголовок: Задание 5 №296 (не сходится ответ)
Здравствуйте! Очевидно, что для получения наименьшего номера нужно изменять последовательно цифры с конца исходного. Для исходного номера сумма цифр на четных позициях равна 24, сумма преобразованных цифр на нечетных позициях - 56. Если разница между суммами для нового номера и для исходного кратна 10, то номер корректный. На ум приходят такие последние 4 цифры номера - 1139. Сумма цифр на четных позициях тогда равна 24 - 1 + 9 = 32, на нечетных 56 - 2*2 + 3*2 = 58. Сумма 32 + 58 = 90 кратна 10. Такой же ответ дает программное решение: def f1(n): return sum(map(int, list(str(n)[::-2]))) def f2(n): return sum(map(lambda x: int(x) * 2, list(str(n)[-2::-2]))) flag = True n = 1234_5678_9101_1121 while flag: n += 1 if (f1(n) + f2(n)) % 10 ==0: print(n) break Таким образом,ответ - 9101 1139, однако это не сходится с число в ответах ( 9101 1128).
|
|
|
Новых ответов нет
[см. все]
|
|
|
Отправлено: 30.08.22 16:13. Заголовок: Кажется, Вы пропусти..
Кажется, Вы пропустили тот момент, что цифры на нечётных местах увеличиваются в два раза и, если при этом получается двузначное число, то его цифры складываются.
|
|
|