На самом деле, конечно, перебор здесь вполне подходит, и можно дать ему границы сразу — по количеству цифр, по максимальной цифре. Но есть же и аналитический метод.
350214х = 11892410
Это означает, что
3x5 + 5x4 + 0x3 + 2x2 + 1x + 4 = 11892410
или
3x5 + 5x4 + 2x2 + x – 118920 = 0
Классический многочлен пятой степени. И теперь нужно просто решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый :)
Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:
x = 8
Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 - 4.865i) :)
получается только перебор? очень жалко что другого метода нет...))а "Это ж всё брутфорс, это ж несерьезно :)" - это как понять? чет не вкурил к чему это! ))) ну ладно + – Евгений536 17 сен '11 в 12:09
1
Я к тому, что другие ответы были про перебор. И это правильно, вообще-то, потому как перебрать десяток оснований легче, чем решить полином пятой степени. – Ali 17 сен '11 в 12:10
2
Не брутфорс, можно сделать бинарный поиск по X! :) – Михаил М 19 авг '13 в 14:27
добавить комментарий
голос «за»
4
голос «против»
Что бы перевести число с какой то системы счисления с основой Х в десятичную, нужно делать так: 1) начальная сумма 0 2) текущая цифра - самая первая 3) текущую сумму умножаем на основу Х 4) добавляем текущую цифру к сумме. 5) если справа ещё есть цифры - к пункту 3 иначе выход Так как вручную проверять все это лень, пишется небольшая программа, к примеру на питоне
def r(x):
return 3 * x + 5) * x + 0) * x + 2) * x + 1) * x + 4)
for i in range(6,10):
print i, r(i)
Начинаем с 6, так как все цифры в заданном числе точно меньше 6 и это будет минимально возможная основа. А верхняя 9, так как "визуально" число в системе счисления Х больше его записи в десятичной форме.
Подытоживая:
Чтобы установить в исполнителе Чертёжник в КуМире жёлтый цвет линии, надо:
1) Указать использование исполнителя Чертёжник в программе.
Для этого надо в самой первой строке программы (до "алг" , до "нач", вообще до всего) записать следующее:
использовать Чертежник
(именно так, без буквы "ё", большая буква только "Ч", остальные- малые, иначе не будет работать (да, да, тут регистр важен))
2) В самом теле программы (после строк "алг", "нач", но до строки "кон") указать следующую команду установки цвета:
выбрать чернила(жёлтый)
(тут уже можно вместо "ё" ставить "е", но буквы все должны быть малые)
Привожу скрин примера программы.
Проверял в Кумире версии 2.1.0-rc7
Воть
Объяснение:
Это ж всё брутфорс, это ж несерьезно :)
На самом деле, конечно, перебор здесь вполне подходит, и можно дать ему границы сразу — по количеству цифр, по максимальной цифре. Но есть же и аналитический метод.
350214х = 11892410
Это означает, что
3x5 + 5x4 + 0x3 + 2x2 + 1x + 4 = 11892410
или
3x5 + 5x4 + 2x2 + x – 118920 = 0
Классический многочлен пятой степени. И теперь нужно просто решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый :)
Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:
x = 8
Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 - 4.865i) :)
поделиться улучшить этот ответ отслеживать
ответ дан
17 сен '11 в 11:58
Ali
2,109●88 серебряных знаков●1010 бронзовых знаков изменён
17 сен '11 в 12:17
получается только перебор? очень жалко что другого метода нет...))а "Это ж всё брутфорс, это ж несерьезно :)" - это как понять? чет не вкурил к чему это! ))) ну ладно + – Евгений536 17 сен '11 в 12:09
1
Я к тому, что другие ответы были про перебор. И это правильно, вообще-то, потому как перебрать десяток оснований легче, чем решить полином пятой степени. – Ali 17 сен '11 в 12:10
2
Не брутфорс, можно сделать бинарный поиск по X! :) – Михаил М 19 авг '13 в 14:27
добавить комментарий
голос «за»
4
голос «против»
Что бы перевести число с какой то системы счисления с основой Х в десятичную, нужно делать так: 1) начальная сумма 0 2) текущая цифра - самая первая 3) текущую сумму умножаем на основу Х 4) добавляем текущую цифру к сумме. 5) если справа ещё есть цифры - к пункту 3 иначе выход Так как вручную проверять все это лень, пишется небольшая программа, к примеру на питоне
def r(x):
return 3 * x + 5) * x + 0) * x + 2) * x + 1) * x + 4)
for i in range(6,10):
print i, r(i)
Начинаем с 6, так как все цифры в заданном числе точно меньше 6 и это будет минимально возможная основа. А верхняя 9, так как "визуально" число в системе счисления Х больше его записи в десятичной форме.
и конечный ответ - 8.