Автор | Сообщение |
|
Отправлено: 24.12.22 09:36. Заголовок: Задача Усова 5834
В чем ошибка в алгоритме решения, не сходится с ответом? for n in range(1,100000): a=hex(n) a=a[2:] if n%2==0: a=a+max(a) else: a=a+'0' s=0 for i in range(len(a)): s=s+int(a,16) b=str(s%16) if b=='10': b='a' if b=='11': b='b' if b=='12': b='c' if b=='13': b='d' if b=='14': b='e' if b=='15': b='e' a=a+b s=0 for i in range(len(a)): s=s+int(a,16) b=str(s%16) if b=='10': b='a' if b=='11': b='b' if b=='12': b='c' if b=='13': b='d' if b=='14': b='e' if b=='15': b='e' a=a+b if a.count(max(a))==5*a.count(min(a)): print(n,a)
|
|
|
Новых ответов нет
[см. все]
|
|
|
Отправлено: 26.12.22 08:36. Заголовок: a=a+max(a) Если чис..
Если число чётное, справа приписывается максимально возможная цифра Максимально возможная в 16 СС цифра это f
|
|
|
|
Отправлено: 27.12.22 08:39. Заголовок: Спасибо!!! Теперь все сошлось
Да, действительно так, а я понял условие, что это максимально возможная цифра в получившемся числе, а не в шестнадцатеричной системе счисления. Условие, наверное, можно было более четко написать, а задачка для этого класса хорошая.
|
|
|
|