以下の内容はhttps://www.k-pmpstudy.com/entry/2020/02/02/gcdrangeより取得しました。


整数配列の最大公約数を求めるC++/boostライブラリ

boost の boost/integer/common_factor_rt というライブラリで整数配列の最大公約数や最小公倍数を求める関数があるので使ってみます.

最大公約数を求めるのは gcd_range,最小公倍数を求めるのがlcm_range です.戻り値のpairの1成分目に値が入っています.

以下のプログラムをatcoder の C++(GCC9.2.1) で実行します.

プログラム

#include <iostream>
#include <vector>
#include <boost/integer/common_factor_rt.hpp> // gcd, lcm
using namespace std;

int main() {
  
  vector<int> v{2,3,4};
  
  cout << boost::integer::gcd_range(v.begin(), v.end()).first  << "\n";
  cout << boost::integer::lcm_range(v.begin(), v.end()).first  << "\n";

  return 0;
}

出力

1
12

参考

Greatest Common Divisor and Least Common Multiple - 1.71.0




以上の内容はhttps://www.k-pmpstudy.com/entry/2020/02/02/gcdrangeより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14