Función incorporada para calcular LCM en C++

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:

  1. 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.
  2. 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á.

  3. 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.
  4. 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

Deja una respuesta

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