Estas son algunas de las funciones interesantes que Python 3.8 proporciona a los programadores en la programación competitiva. Estas nuevas funciones están relacionadas con algunas funciones y algoritmos matemáticos que los programadores de la competencia utilizan con frecuencia. La implementación de estas funciones tiene la complejidad del tiempo, que es la misma en el caso de un programa cuando se implementa desde cero.
Discutiremos
- Exponenciación modular
- Módulo Multiplicativo Inverso
- Cálculo de n Cr y n Pr
Exponenciación modular
Dados 3 números A, B y Mod.Calcular (A B )%Mod.
Ejemplos:
Input : A = 4, B = 3 Mod = 11 Output : 9 Explanation: (43)%11 = (64)%11 = 9 Input : A = 3, B = 3 Mod = 5 Output : 2 Explanation: (33)%5 = (27)%5 = 2
La implementación tradicional de exponenciación modular se analiza aquí
A continuación se muestra la solución Python3.8 discutida
Python
A = 4 B = 3 Mod = 11 # Power function can take 3 # parameters and can compute # (A ^ B)% Mod print('The power is {}'.format(pow(A, B, Mod)))
Producción:
The power is 9
Multiplicativo Modular Inverso
Dados dos enteros A y Mod, Calcula el inverso multiplicativo modular de A bajo módulo Mod.
El inverso multiplicativo modular es un entero B tal que
(A.B)%Mod = 1 where gcd(A, Mod) should be equal to 1
Ejemplos:
Input : A = 4, Mod = 11 Output : 3 Explanation: (4*3)%11 = (12)%11 = 1 Input : A = 3, Mod = 5 Output : 2 Explanation: (3*2)%5 = (6)%5 = 1
La implementación tradicional de Modular Multiplicative Inverse se analiza aquí
A continuación se muestra la solución Python3.8 discutida
Python
A = 4 Mod = 11 # Power function can take 3 parameters # and can compute (A^-1)% Mod print(f'The Modular Multiplicative Inverse \ of A under Mod is {pow(A, -1, Mod)}')
Producción:
The Modular Multiplicative Inverse of A under Mod is 3
Cálculo de Ncr y Npr
Dado el valor de N y r. Calcule Ncr (Combinaciones de N cosas tomadas r a la vez) y Npr (Permutaciones de N cosas tomadas r a la vez).
Ejemplos:
Input : N = 10, r = 3 Output : Ncr = 120 Input : N = 10, r = 3 Output : Npr = 720
Las implementaciones tradicionales de Ncr y Npr se analizan aquí y aquí
. A continuación, se describe la solución de Python3.8.
Python
import math N = 10 r = 3 print(f"Ncr = {math.comb(N, r)}") print(f"Npr = {math.perm(N, r)}")
Producción:
Ncr = 120 Npr = 720
Publicación traducida automáticamente
Artículo escrito por Harish Vemula y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA