Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по информатике

temper 121 Ученик (98), открыт 4 недели назад
Решите без сложных функций. Найдите минимальное число, для которого будет верно равенство его представлений в системах счисления с основаниями p и q: 24351p = 14325q. В ответе запишите найденное число в десятичной системе счисления.
1 ответ
Ксения Райт Высший разум (104234) 4 недели назад
Для рационализации вычислений можно для нахождения значения полинома применить схему Горнера. А так как в обеих записях присутствует пятёрка, то p и q не могут быть меньше шести!
 r, yes = range(6, 10000), False 
for p in r:
number = 1+p*(5+p*(3+p*(4+p*2)))
for q in r:
if number == 5+q*(2+q*(3+q*(4+q))):
print('p =', p, ' q =', q, ' число', number)
yes = True
break
if yes:
break
Само число, естественно, надо вычислять во внешнем цикле, а не во внутреннем, что гораздо быстрее!
А вот и результат:Без кода тут придётся решать диофантово уравнение относительно неизвестных p и q: кому заняться нечем - пусть решают!..
Похожие вопросы