Cómo calcular el módulo de la forma (a * b)% c?Cómo calcular el módulo de la forma (a * b)% c?
quiero para calcular el módulo de la multiplicación de dos números int donde están casi en la etapa de desbordamiento ...
aquí c también se int
Cómo calcular el módulo de la forma (a * b)% c?Cómo calcular el módulo de la forma (a * b)% c?
quiero para calcular el módulo de la multiplicación de dos números int donde están casi en la etapa de desbordamiento ...
aquí c también se int
Puedes lanzar a
y c
-long long
, por lo la multiplicación no se desbordará
((long long)a * (long long)b) % c
¿Qué hay de ((a % c) * (b % c)) % c
? Dependiendo de su arquitectura, esto podría ser más rápido o más lento que lanzar a un tipo más grande.
Si a <= b
tardará mucho tiempo – Kunal
necesito algo de método optimizado – Kunal
No creo que encuentre una solución más rápida. En las máquinas x86, el resultado de la multiplicación de 32 bits siempre es de 64 bits. De esta forma, simplemente notifica al compilador que use el resultado de 64 bits. – buc