One intresting problem...
Вообщем есть такая интересная задача:
надо вычислить минимальное число, обладающее заданным количеством делителей
Кто-нибудь знает, как она решается?
Re: One intresting problem...
Послано
Lomir 23 сен 2007 20:49
Если число <10^18 тогда перебором.
Если больше, тогда незнаю :)
Re: One intresting problem...
Задано исключительно количество делителей, что перебирать?
Re: One intresting problem...
Перемножить делители?
Re: One intresting problem...
Интересная задача. В общем случае ее наверное не решишь... А вот если есть какие-то ограничения, то можно подумать. Я бы отталкивался от следующей формулы:
Если число X представимо в виде p1^n1 * p2^n2 * ... pk^nk, то количество его делителей равно: (n1+1) * (n2+1) * ... * (nk+1)
Re: One intresting problem...
I've solved it for N <= 1000 with bruteforce...
Re: One intresting problem...
Спасибо за подсказки!
Не могли бы Вы переслать решение на ivanovalexalex@mail.ru
(если можно .dpr или .pas)?
Спасибо!
Re: One intresting problem...
Послано
awpris 24 сен 2007 22:31
Есть другое решение без полного перебора - в основе идеи решения лежит основная теорема арифметики: единственность представления составного числа на простые сомножители.
Число делителей связано с показателями степеней простых чисел в разложении заданного числа единственным способом.
Это утверждение доказывается как следствие основной теоремы арифметики.
Re: One intresting problem...
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)*...