竞争性编程通常涉及计算两个数字的最小公倍数 (LCM)。一种方法是使用升压::math::lcm(),我们在后文中讨论过C++ 中用于计算 LCM 的内置函数。
但是,最近,C++ 在其最新版本 C++17 中还包含了另一个用于计算 LCM 的内置函数,std::lcm()。该函数在头文件中定义。
用法:
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)
请记住,由于此函数已在最新版本的 C++ 中定义,因此在不支持 C++17 的编译器中使用此函数将引发错误。
// 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;
}
输出:
20
要点:
- 该函数适用于正数,如果有一个参数为负数,则先转换为其模数,然后计算 LCM。
- 另外,它仅适用于整数数据类型,如果在其参数中提供了任何其他数据类型,如 char、double,那么它将抛出错误。
参考:
相关用法
- C++17 std::clamp用法及代码示例
- C++17 std::variant用法及代码示例
- C++17 std::cyl_bessel_i用法及代码示例
- C++11 std::initializer_list用法及代码示例
- C++11 std::move_iterator用法及代码示例
- C++14 std::integer_sequence用法及代码示例
- C++14 std::quoted用法及代码示例
- C++14 std::make_unique用法及代码示例
- C++ cos()用法及代码示例
- C++ sin()用法及代码示例
- C++ asin()用法及代码示例
- C++ atan()用法及代码示例
- C++ atan2()用法及代码示例
- C++ acos()用法及代码示例
- C++ tan()用法及代码示例
- C++ sinh()用法及代码示例
- C++ ceil()用法及代码示例
- C++ tanh()用法及代码示例
- C++ fmod()用法及代码示例
- C++ acosh()用法及代码示例
- C++ asinh()用法及代码示例
- C++ floor()用法及代码示例
- C++ atanh()用法及代码示例
- C++ log()用法及代码示例
- C++ trunc()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 std::lcm in C++17。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。