본문 바로가기

GCD3

[BOJ] 1735번 - 분수 합 분수 A,B가 주어지고 두 분수의 합을 기약분수 형태로 구하는 문제이다. 기약분수는 더 이상 약분되지 않아야 하므로 분수의 합을 계산해주고 분모,분자의 최대공약수로 각각 나누어 표현한다. 최대공약수는 유클리드 호제법을 사용하여 계산한다. https://dong-min-god.tistory.com/19 최대공약수(GCD), 최소공배수(LCM) C++ 구현 최대공약수(GCD, Great Common Divisor)과 최소공배수(LCM, Least Common Multiple)을 구해보자 최대 공약수 최대공약수는 나머지 연산을 활용하는 유클리드 호제법을 이용하여 쉽게 구할 수 있다. 입력으로 들 dong-min-god.tistory.com #include using namespace std; int gcd(i.. 2022. 6. 15.
[BOJ] 2609번 - 최대공약수와 최소공배수 유클리드 호제법을 이용하여 최대공약수 GCD, 최소공배수 LCM을 구하는 문제이다. 내용은 다음 링크 참조 https://dong-min-god.tistory.com/19 최대공약수(GCD), 최소공배수(LCM) C++ 구현 최대공약수(GCD, Great Common Divisor)과 최소공배수(LCM, Least Common Multiple)을 구해보자 최대 공약수 최대공약수는 나머지 연산을 활용하는 유클리드 호제법을 이용하여 쉽게 구할 수 있다. 입력으로 들 dong-min-god.tistory.com #include using namespace std; int gcd(int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a; .. 2022. 6. 14.
GCD(최대공약수), LCM(최소공배수) C++ 구현 최대공약수(GCD, Great Common Divisor)과 최소공배수(LCM, Least Common Multiple)을 구해보자 최대 공약수 최대공약수는 나머지 연산을 활용하는 유클리드 호제법을 이용하여 쉽게 구할 수 있다. 입력으로 들어온 두 수 a,b에 대하여 b = a*k +r이라 표현하면 a,b의 최대 공약수는 a,r의 최대공약수와 같다는 원리를 이용한다. 1) 반복문을 사용 int gcd(int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a; } 2) 재귀함수 사용 int gcd(int a, int b){ if(b == 0) return a; // b == 0 인경우 더 이상 최대 공약수를 갖지 않아서 a 반환 el.. 2022. 6. 14.