Представление большого числа в виде факториала и множителей

Форум пользователей пакета Maple

Модератор: Admin

siedhe
Сообщения: 3
Зарегистрирован: Пн мар 24, 2008 9:17 pm

Представление большого числа в виде факториала и множителей

Сообщение siedhe » Пн мар 24, 2008 9:31 pm

Есть большое число , например 5161930260480000, необходимо представить данное число в виде факториала, мб даже квадрата факториала, иначе a*(n!)^x

На множители разложила, но дальше...
Есть ли в maple какая-либо функция, которая сможет представить число в необходимом виде
на бермутарно на сердце и бермутно на душе

Учитель
Сообщения: 68
Зарегистрирован: Вс июн 19, 2005 2:53 pm

Сообщение Учитель » Пн мар 24, 2008 9:37 pm

> ifactor(5161930260480000);

19 8 4 4
(2) (3) (5) (7)

Андрей М.
Сообщения: 239
Зарегистрирован: Чт апр 21, 2005 3:15 pm

Сообщение Андрей М. » Пн мар 24, 2008 11:14 pm

В конспекте мастер-класса Аладьева нашел пример простой процедуры Fact, которая может оказаться вам полезной. Она возвращает false, если М – не факториал, и true, если да. Через второй параметр возвращает в случае true значение n, для которого М=n!

> Fact:= proc(M::posint, r::evaln)
local n, m;
n := 0;
do
n := n + 1; m := n!;
if M < m then return false elif m = M then return true, assign(r = n) end if
end do
end proc;

> Fact(5161930260480000);
false

> Fact(120, t), t;
true, 5

> Fact(2008!,t), t;
true, 2008

siedhe
Сообщения: 3
Зарегистрирован: Пн мар 24, 2008 9:17 pm

Сообщение siedhe » Вт мар 25, 2008 12:00 am

ПАсиба, но нужно несколько иное.
Чтобы maple представлял число, например 36 как (3!)^2
на бермутарно на сердце и бермутно на душе

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Вт мар 25, 2008 10:39 am

Такой процедуры в Maple нет. Задача интересеная для тренировки в программировании. Необходимо сформулировать ее поточнее: a*(n!)^x, где n -- максимальное, и х - 1 либо 2 или максимальное? Например, 5040*(5!)^2 и 42*(5!)^3 два разных представления одного числа. 6*(5!)^2 и 400*(3!)^3 -- тоже два представления одного числа. Когда сформулируете задачу, сможете реализовать ее сами. Можно использовать результат ifactor. Можно обойтись без него, последовательно делить данное число на 2, 3, 4, ... смотреть, что останется.

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Вт мар 25, 2008 10:45 am

Ваше число 5161930260480000, если не ошибаюсь, можно представить, например, 392*(10!)^2 и 8*(7!)^4

siedhe
Сообщения: 3
Зарегистрирован: Пн мар 24, 2008 9:17 pm

Сообщение siedhe » Чт мар 27, 2008 6:52 pm

aar писал(а):Ваше число 5161930260480000, если не ошибаюсь, можно представить, например, 392*(10!)^2 и 8*(7!)^4


спасибо
на бермутарно на сердце и бермутно на душе