Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

두 숫자의 공약수를 위한 C++ 프로그램?

<시간/>

두 숫자의 공약수는 두 숫자의 약수입니다.

예를 들어,

12의 제수는 1, 2, 3, 4, 6, 12입니다.

18의 제수는 1, 2, 3, 6, 9, 18입니다.

따라서 12와 18의 공약수는 1, 2, 3, 6입니다.

이들 중 가장 큰 것은 아마도 12와 18의 최대 공약수라고 불리는 것입니다. 두 정수 a와 b의 최대 공약수에 대한 일반적인 수학적 표기법은 (a, b)로 표시됩니다. 따라서 (12, 18) =6.

최대공약수는 여러 가지 이유로 중요합니다. 예를 들어, 두 숫자의 LCM, 즉 이 숫자의 배수인 가장 작은 양의 정수를 계산하는 데 사용할 수 있습니다. 숫자 a와 b의 최소 공배수는 ab(a, b)로 계산할 수 있습니다.

예를 들어, 12와 18의 최소 공배수는 12·18(12, 18) =12 · 18.6입니다.

Input: a = 10, b = 20
Output: 1 2 5 10
// all common divisors are 1 2 5 10

설명

두 숫자를 정확히 나눌 수 있는 정수(나머지 없이).

예시

#include <iostream>
using namespace std;
int main() {
   int n1, n2, i;
   n1=10;
   n2=20;
   for(i=1; i <= n1 && i <= n2; ++i) {
      if(n1%i==0 && n2%i==0) {
         cout<<i<<"\t";
      }
   }
}