ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

One intresting problem...
Послано Ivanov Alexander 23 сен 2007 20:35
Вообщем есть такая интересная задача:
надо вычислить минимальное число, обладающее заданным количеством делителей
Кто-нибудь знает, как она решается?
Re: One intresting problem...
Послано Lomir 23 сен 2007 20:49
Если число <10^18 тогда перебором.
Если больше, тогда незнаю :)
Re: One intresting problem...
Послано Ivanov Alexander 23 сен 2007 21:10
Задано исключительно количество делителей, что перебирать?
Re: One intresting problem...
Послано quotter 23 сен 2007 21:43
Перемножить делители?
Re: One intresting problem...
Послано Victor Barinov (TNU) 23 сен 2007 22:25
Интересная задача. В общем случае ее наверное не решишь... А вот если есть какие-то ограничения, то можно подумать. Я бы отталкивался от следующей формулы:

Если число X представимо в виде p1^n1 * p2^n2 * ... pk^nk, то количество его делителей равно: (n1+1) * (n2+1) * ... * (nk+1)
Re: One intresting problem...
Послано Vedernikoff Sergey 23 сен 2007 22:56
I've solved it for N <= 1000 with bruteforce...
Re: One intresting problem...
Послано Ivanov Alexander 24 сен 2007 15:34
Спасибо за подсказки!
Не могли бы Вы переслать решение на ivanovalexalex@mail.ru
(если можно .dpr или .pas)?
Спасибо!
Re: One intresting problem...
Послано awpris 24 сен 2007 22:31
Есть другое решение без полного перебора - в основе идеи решения лежит основная теорема арифметики: единственность представления составного числа на простые сомножители.
Число делителей связано с показателями степеней простых чисел в разложении заданного числа единственным способом.
Это утверждение доказывается как следствие основной теоремы арифметики.
Re: One intresting problem...
Послано Razdolbay from SIS 25 сен 2007 03:25
Victor Barinov has already written about it.

>> Если число X представимо в виде p1^n1 * p2^n2 * ... pk^nk, то количество его делителей равно: (n1+1) * (n2+1) * ... * (nk+1)

About solution:

Let N=p1*p2*p3*...*pk - prime numbers.
p1>=p2>=...>=pk

Answer almost always is 2^(p1-1)*3^(p2-1)*5^(p3-1)*...