Форум » Системы счисления » ege14 № 6303 » Ответить

ege14 № 6303

Антонина: Здравствуйте. Вопрос: может ли y принимать нулевое значение? Или в этом случае изменится разрядность исходных чисел. В системе счисления с некоторым основанием p выполняется равенство y2y + y87 = 1xzz Буквами x, y и z обозначены некоторые цифры из алфавита системы счисления с основанием p. Запишите в ответе значение числа xyzp в десятичной системе счисления.

Ответов - 3

gg: Не вижу причины, чтобы у не принимал значение 0, ибо 0 входит в алфавит СС р(0 входит в алфавит любой СС). Меня в задаче сильнее волнует, что программа выводит 5 возможных решений с различными р, при этом ответ является число при наибольшем р. В задаче не указано, что в ответ нужно вносить результат при наибольшим р. [pre2] for p in range(2, 50): for x in range(p): for y in range(p): for z in range(p): if ((y*(p**2)) + (2*p) + y) + ((y*(p**2)) + (8*p) + 7) == ((p**3) + (x*(p**2)) + (z*p) + z): print((x*(p**2)) + y*p + z, p) [/pre2] Результат: 20 4 137 6 130 7 99 8 38 9

Aleksey6819: gg пишет: Не вижу причины, чтобы у не принимал значение 0, ибо 0 входит в алфавит СС р(0 входит в алфавит любой СС). 0 входит в алфавит десятичной системы, но мы не пишем число 025. gg пишет: for p in range(2, 50): В задании в уравнении есть цифры 1, 2, 7 и 8. Поэтому p надо начинать с 9.

gg: Aleksey6819 пишет: В задании в уравнении есть цифры 1, 2, 7 и 8. Поэтому p надо начинать с 9. Мой косяк, извиняюсь. Спасибо, что указали на ошибку. Насчет у = 0. С одной стороны 0 нули в начале числа можно безболезненно убрать(например: 0102 = 210, так же, как и 102 = 210), а с другой - есть правило: число не может начинаться с нуля. В данной конкретной задаче у = 0 не влияет на ответ(если исключить его из перебора, ответ будет получен тот же).




полная версия страницы