Blue Bridge Cup de potencia rápida

Descripción del problema
  Dado A, B, P, encuentre (A ^ B) mod P.
Formato de entrada
  Ingresa una línea.
  Hay tres números en la primera línea, N, M, P.
Formato de salida
  La salida es una línea, que indica la solicitud.
Entrada de muestra
2 5 3
Salida de muestra
2
Tamaño de datos y acuerdo
  Hay 10 conjuntos de datos.
  Para el 100% de los datos, A y B son enteros no negativos en el rango de largo largo, y P es un entero no negativo en el int.
Se agregan historias tristes.
Pregunta de plantilla desnuda, copiar y pegar, 40 puntos
Entonces los detalles del módulo estaban equivocados.
Código de 40 puntos
1 #include <bits / stdc ++. H>
 2  usando el  espacio de nombres std;
3 typedef largo  largo ll;
4  ll quick_pow (ll x, ll y, ll c) {
 5      ll ans = 1 ;
6      while (y) {
 7          if (y & 1 ) {
 8              ans = (ans% c * x% c)% c;
9          }
 10          x = (x% c * x% c)% c;
11          y >> = 1 ;
12      }
 13      return ans;
14 }
 15  int main () {
 16      ll x, y, p;
17      while (cin >> x >> y >> p) {
 18          ll ans = quick_pow (x, y, p);
19          cout << ans << endl;    
20      }
 21      devuelve  0 ;
22 }

Código de 100 puntos

1 #include <bits / stdc ++. H>
 2  usando el  espacio de nombres std;
3 typedef largo  largo ll;
4  ll quick_pow (ll x, ll y, ll c) {
 5      ll ans = 1 ;
6      while (y) {
 7          if (y & 1 ) {
 8              ans = (ans% c * x% c)% c;
9          }
 10          x = (x% c * x% c)% c;
11          y >> = 1 ;
12      }
 13      return ans;
14 }
 15  int main () {
 16      ll x, y, p;
17      while (cin >> x >> y >> p) {
 18          ll ans = quick_pow (x% p, y, p);
19          cout << ans << endl;    
20      }
 21      devuelve  0 ;
22 }

Encuentra diferentes series

Supongo que te gusta

Origin www.cnblogs.com/fx1998/p/12722077.html
Recomendado
Clasificación