Daily bit(e) C++. std::gcd, std::lcm

Добавлено 10 августа 2023 в 01:07

Daily bit(e) C++ #211, алгоритмы наибольшего общего делителя и наименьшего общего кратного из C++17: std::gcd и std::lcm.

Daily bit(e) C++. std::gcd, std::lcm

Определение наибольшего общего делителя (greatest common divisor, GCD) и наименьшего общего кратного (least common multiple, LCM) часто используются в качестве простых упражнений по программированию или задач на собеседованиях.

Начиная с C++17, у нас наконец-то появились стандартные версии этих функций – std::gcd и std::lcm в заголовке numeric.

#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.

Теги

C++ / CppDaily bit(e) C++STL / Standard Template Library / Стандартная библиотека шаблоновПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.