競爭性編程通常涉及計算兩個數字的最小公倍數 (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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。