Muchas veces mientras programamos, necesitamos calcular el Mínimo Común Múltiplo (MCM) entre dos números. Ya hemos discutido cómo encontrar LCM en esta publicación .
En lugar de definir y luego usar una función para calcular lcm, podemos simplemente usar una función incorporada de la biblioteca boost de C++, boost::math::lcm() .
Para usar esta función, debemos declarar un archivo de encabezado <boost/math/common_factor.hpp> .
Sintaxis:
boost::math::lcm (m,n) Parameters: m, n Return Value: 0 if either m or n are zero, else lcm of mod(m) and mod(n).
// CPP program to illustrate // boost::math::lcm function of C++ #include <iostream> #include <boost/math/common_factor.hpp> using namespace std; int main() { cout << "LCM(10,20) = " << boost::math::lcm(10,20) << endl; return 0; }
Producción:
LCM(10,20) = 20
Puntos importantes:
- La función calculará el mcm después de tomar el módulo de ambos números, por lo que en caso de que alguno de los números sea negativo, se convertirá a su módulo y luego se calculará el mcm.
- En caso de que alguno de los números sea un tipo de datos no entero, entonces esta función arrojará un error.
// CPP program to illustrate illegal
// behaviour of boost::math::lcm function of C++
#include <iostream>
#include <boost/math/common_factor.hpp>
using
namespace
std;
int
main()
{
cout <<
"LCM(1.0,20) = "
<< boost::math::lcm(1.0,20)
<< endl;
return
0;
}
Este código arrojará un error, ya que uno de los argumentos de la función es de tipo doble, por lo que este código no funcionará.
- En C++17, se introdujo una nueva función STL para calcular LCM de dos números, std::lcm() , que se puede usar en cualquier compilador compatible con las características de C++17.
Este artículo es una contribución de Mrigendra Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA