C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

2つ以上(または配列)の数値のGCD用のC ++プログラム?


2つの数値の公約数は、両方の除数である数値です。

たとえば、12の約数は1、2、3、4、6、12です。18の約数は1、2、3、6、9、18です。したがって、12と18の公約数は1、2です。 、3、6。これらの中で最大のものは、おそらく当然のことながら、12と18のと呼ばれます。2つの整数aとbの最大公約数の通常の数学表記は、(a、b)で表されます。したがって、(12、18)=6です。

最大公約数は多くの理由で重要です。たとえば、2つの数値、つまりこれらの数値の倍数である最小の正の整数を計算するために使用できます。数値aとbの最小公倍数は、a * b *(a、b)

として計算できます。

たとえば、12と18の最小公倍数は12 * 18 *(12、18)=12 * 18 * 6

Input: 4, 10, 16, 14
Output: 2

説明

2つ以上の整数のGCDは、両方の数値を(余りなしで)正確に除算できる最大の整数です。

#include <iostream>
using namespace std;
int gcd(int a,int b) {
   int temp;
   while(b > 0) {
      temp = b;
      b = a % b;
      a = temp;
   }
   return a;
}
int main() {
   int a[] = {4, 10, 16, 14};
   int n = 4;
   int r = a[0];
   for(int i=1; i<n; i++) {
      r = gcd(r, a[i]);
   }
   cout << r << endl;
   return 0;
}

出力

4

  1. Pythonプログラムの2つ以上(または配列)の数値のGCD

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数の配列が与えられ、最大公約数を見つける必要があります。 3つ以上の数のgcdを見つける必要がある場合、gcdは、引数として提供されるすべての数に共通の素因数の積に等しくなります。また、引数の数のペアのGCDを繰り返し取得することによって計算することもできます。 ここでは、後者のアプローチを実装します では、実装を見てみましょう 例 def findgcd(x, y):    while(y):       x, y = y, x % y  

  2. 2つ以上(または配列)の数値のGCD用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −数の配列が与えられ、最大公約数を見つける必要があります。 3つ以上の数のgcdを見つける必要がある場合、gcdは、引数として提供されるすべての数に共通の素因数の積に等しくなります。引数の数のペアのGCDを繰り返し取得することによって計算することもできます。 ここでは、後者のアプローチを実装します では、実装を見てみましょう 例 def findgcd(x, y):    while(y):       x, y = y, x % y   &n