gcd 썸네일형 리스트형 [백준] 3036번 : 링 - C/C++ 문제부터 이해해보자.문제에서 요구하는 것은 간단..? 하다. 여러 개의 링이 주어졌을 때, 첫 번째 링을 기준으로 나머지 링들이 몇 바퀴 도는지를 기약분수 형태로 나타내는 문제이다.쉽게 말해서 첫 번째 링이 한 바퀴 돌 때, 다른 링들이 몇 바퀴 도는지를 구하는 것이다. 문제는 아래의 아이디어를 가지고 출발한다.기준은 첫번째 링의 반지름으로 한다.나머지 링들의 반지름을 입력받는다.첫번째 링과의 회전 비율을 고려하여 기약분수 형태로 나타낸다.최대공약수 개념을 사용한다. (기약분수 형태로 만들기 위함)필요한 반지름 개수 n과 n개의 반지름을 입력하면 다음과 같이 코드를 작성할 수 있다.int n;vector v;int main(){ cin >> n; for(int i = 0; i > x; .. 더보기 [백준] 5347번 : LCM - C/C++ 두 수의 최소공배수를 출력하는 간단한 문제이다.1. 테스트 케이스 n 입력 받기2. a, b 입력 받기3. 최소공배수 구하기 vector를 이용하여 a, b를 입력 받을 것이다.그럼 헤더를 추가해주어야 한다.#include 그리고 테스트 케이스와 vector를 통한 a, b 입력 받기int n;cin >> n;vector> vec;int a,b; for(int i = 0; i > a >> b; vec.push_back(make_pair(a,b));} 완벽하게(?) vector에 값이 들어간다. 그리고 이 문제를 해결하는데에 핵심 역할이 되는 함수를 선언해준다.int lcm(ll a, ll b){ return (a * b) / gcd(a, b);} 위와 같이 최소공배수를 구할 수 있다.gcd라.. 더보기 이전 1 다음