在进行编程时,很多时候,我们需要计算两个数字之间的最小公倍数(LCM)。我们已经在这篇文章中讨论了如何查找LCM。
代替定义然后使用计算lcm的函数,我们可以简单地使用C++的boost库的内置函数boost :: math :: lcm() 。
为了使用此函数,我们必须声明头文件
句法:
boost::math::lcm (m,n)
Parameters: m, n
Return Value: 0 if either m or n are zero,
else lcm of mod(m) and mod(n).
// CPP program to illustrate
// boost::math::lcm function of C++
#include
#include
using namespace std;
int main()
{
cout << "LCM(10,20) = " << boost::math::lcm(10,20)
<< endl;
return 0;
}
输出:
LCM(10,20) = 20
要点:
- 该函数将在取两个数的模数后计算lcm,因此,如果任何一个数为负数,则将其转换为其模数,然后计算LCM。
- 如果任何数字为非整数数据类型,则此函数将引发错误。
// CPP program to illustrate illegal // behaviour of boost::math::lcm function of C++ #include
#include using namespace std; int main() { cout << "LCM(1.0,20) = " << boost::math::lcm(1.0,20) << endl; return 0; } 该代码将引发错误,因为该函数的参数之一是双精度类型,因此此代码将不起作用。
- 在C++ 17中,引入了一个新的STL函数,用于计算两个数字的LCM,std :: lcm(),可在任何支持C++ 17功能的编译器上使用。
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。