Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 18, 2012, 04:07:41
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 374 Big Mod
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: 374 Big Mod  (Leído 1026 veces)
0 Usuarios y 1 Visitante están viendo este tema.
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« : Agosto 14, 2006, 07:21:11 »


374 Big Mod
http://acm.uva.es/p/v3/374.html

Se emplea un algoritmo de exponenciacion modular para poder elevar b^p mod m.

Trabajamos con el exponente en binario.

Se lee la posicion mas a la derecha del exponente.

Si el exponente tiene un 1,se multiplica por el modulo m de la base elevada a la posicion que nos encontremos en el exponente.

Si tiene un 0 en el exponente, no hacemos nada.

Tras esto desplazamos el exponente una posicion y para manterne la base elevada a la posicion, tras cada movimiento la elevamos al cuadrado y le aplicamos modulo m.

Código:
      s=1; t=b; u=p;
    while(u) {
          if (u&1)
                   s=(s*t)%n;
  u>>=1;
  t=(t*t)%n;
   }
      
Donde b es la base, p el exponente y n el modulo.
En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 374 Big Mod
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de