Ежедневный бит (е) C ++ # 211, алгоритмы наибольшего общего делителя и наименьшего общего кратного C ++ 17: std:: gcd и std:: lcm.
Наибольший общий делитель и наименьшее общее кратное часто используются в качестве простых упражнений по программированию или вопросов на собеседовании.
Начиная с C++17, у нас наконец-то появились стандартные версии этих функций как std::gcd и std::lcm в числовом заголовке.
#include <numeric> auto gcd = std::gcd(2*3, 3*5); // gcd == 3 auto lcm = std::lcm(2*3, 3*5); // lcm == 2*3*5
Откройте пример в Compiler Explorer.