estándar::lcm en C++17

La programación competitiva a menudo implica el cálculo del mínimo común múltiplo (LCM) de dos números. Una forma de hacerlo es usando boost::math::lcm() , que discutimos en la publicación – Función incorporada para calcular LCM en C++ .
Pero, recientemente, C++ en su última versión C++17 también ha incluido otra función integrada para el cálculo de LCM, std::lcm() . Esta función se define dentro del archivo de cabecera.

Sintaxis:

std::lcm (m, n)
Arguments: m, n
Returns: 0, if either of m or n are 0
         else, returns lcm of mod(m) and mod(n)

Recuerde, dado que esta función se definió en la última versión de C++, el uso de esta función en compiladores que no admiten C++17 generará un error.

// CPP program to illustrate
// std::lcm function of C++
#include <iostream>
#include <numeric>
  
using namespace std;
  
int main()
{
    cout << "LCM(10, 20) = " << std::lcm(10, 20)
         << endl;
    return 0;
}

Producción:

20

Puntos importantes:

  1. Esta función funciona con números positivos y, si algún argumento es negativo, primero se convierte a su módulo y luego se calcula el LCM.
  2. Además, solo funciona en el tipo de datos enteros , y si se proporciona cualquier otro tipo de datos como char, double, en su argumento, arrojará un error.

Referencia:

  1. C++ Weekly – Ep 67 – C++17’s std::gcd y std::lcm

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 *