以前偷懒没解决这个问题,导致我每次做题都要死背那个欧几里得算法
1、C++14 中可以用<algorithm>
中的 std::__gcd(a,b)
函数来求最大公约数
2、C++17,我们可以使用 <numeric>
头中的 std::gcd
与 std::lcm
来求最大公约数和最小公倍数
3、g++有 std::__gcd(a,b)
std::gcd
std::lcm
,vs没有 std::__gcd(a,b)
4、能用 std::gcd
就不要用 std::__gcd(a,b)
,前者更加智能,后者不推荐使用
总结:编译器和C++版本问题一定要注意!!!