Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

5 votos

Forma sencilla de calcular el n!(modp)

Tengo el "ejercicio de Calcular el 10!(mod13)".

Tengo los dos métodos siguientes para resolver el ejercicio:

  1. Aproximación de fuerza bruta

1!1(mod13)2!=21!212(mod13)3!=32!326(mod13)10!=109!1011=110=813+66(mod13)

  1. Enfoque el uso del teorema de Wilson:

Wilson del teorema de los estados que pP(p1)!1(modp)

Para mi ejercicio: 13P\implica(131)!=12!=10!11121(mod13)\implica10!(1112)1(mod13) El uso de Fermat poco teorema de ap(modp)\implicaunp2aaa1aa(modp)\implicaunp2a1(modp) Para mi ejercicio: De10! = -(11 \cdot 12)^{-1} \equiv \\ -(11 \cdot 12)^{13-2} = -(11 \cdot 12)^{11} \equiv \\ -(-2 \cdot -1)^{11} = -2^{11} = \\ -2^6 \cdot 2^5 \equiv 1 \cdot 2^5 = \\ 32 \equiv 6 \pmod{13} \\ $$

Ambos enfoques se ven muy voluminosos.

En el primer método que tengo que hacer la O(n) multiplicaciones.

En el segundo método que tengo que hacer la O(pn) multiplicaciones que es menor que en el primer método, pero también puede ser enorme número de grandes pn.

Hay una manera para mejorar mi solución?

Es allí una manera eficiente para calcular el n!(modp) grande np?

6voto

B. Goddard Puntos 2488

Comience con su Wilson del Teorema de enfoque, pero rematar de manera diferente. Tenga en cuenta que121112(mod13), y que estos dos números tienen fácil inversos (2)(7)1(1)(1)1(mod13), por lo que

10!(11)1(12)1(2)1(1)1(7)(1)6(mod13).

0voto

fleablood Puntos 5913

Semi fuerza bruta. 141mod13 , por lo que tirar 2,7. 271 así que tirar 3,9. 401 para lanzar 4,108,5. ¿Qué nos han dejado.

Sólo 6. 10!6mod13

debido a 10!=(27)(39)(410)6(58)6mod13

Hmm, no es muy satisfactorio, es él.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X