Saltar al contenido

¿Cómo puedo multiplicar números realmente grandes c ++

No olvides que en las ciencias informáticas cualquier problema casi siempere puede tener más de una resoluciones, de igual modo nosotros mostramos la mejor y más eficiente.

Solución:

El resultado desborda el int (y también std::uint64_t)

Tienes que usar alguna biblioteca BigInt.

Como sugirió Jarod42, está perfectamente bien, pero no estoy seguro de si se producirá un desbordamiento o no.

Intente almacenar todos y cada uno de los dígitos del número en un array y después de eso multiplicar. Definitivamente obtendrás la respuesta correcta.

Para más detalles sobre cómo multiplicar usando array siga esta publicación http://discuss.codechef.com/questions/7349/computing-factorials-of-a-huge-number-in-cc-a-tutorial

ints solo tienen 32 bits. Cuando el resultado de una multiplicación es mayor que 2^31 – 1, el resultado se convierte en un valor negativo grande. En lugar de usar el tipo de datos int, use long long int, que contiene 64 bits.

Calificaciones y comentarios

Más adelante puedes encontrar las acotaciones de otros administradores, tú incluso puedes mostrar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *