본문 바로가기
알고리즘

C++ 유클리드 호제법

by Chars4785 2018. 12. 27.


유클리드 호제법 ( 알고리즘 중에 하나 )



A    B    Rest

152 68 20

68 20 8

20 8 4

8 4 


그러면 4가 된다 최대 공약수


최소 공배수는 


A = a * GCD

B = b * GCD

LCM = ab GCD


#include <iostream>
#include <vector>

using namespace std;


int main() {

int a,b;
int A,B;
cin >> a >> b;

int GCD,LCM;

A = a;
B = b;

while(1)
{
int r = a % b;

if( r == 0)
{
GCD = b;
break;
}

a = b;
b = r;
}

cout << GCD << endl;

LCM = (A/GCD) * (B/GCD) * GCD;

cout<< LCM << endl;

return 0;
}



증명:



'알고리즘' 카테고리의 다른 글

C++ 상자 색  (0) 2018.12.28
C++ 삽입정렬, 선택정렬, 버블 정렬  (0) 2018.12.27
C++ 소인수 분해  (0) 2018.12.27
C++ 약수,소수  (0) 2018.12.27
C++ 선택 정렬  (0) 2018.12.27

댓글