안녕하세요. 오늘은 행성을 정렬할 거예요.

문제

https://www.acmicpc.net/problem/25344

아이디어

모든 값의 LCM을 출력해주면 됩니다.
참고로 LCM(a,b,c)는 LCM(LCM(a,b),c)와 같고 LCM(a,b)=a*b/gcd(a,b)입니다.

소스코드

#include <iostream>
#define ll long long
using namespace std;

ll gcd(ll a, ll b) { return ((b) ? gcd(b, a % b) : a); }

int main(void)
{
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	ll N, i, lcm = 1, x;

	cin >> N;
	for (i = 1; i <= N - 2; i++)
	{
		cin >> x;
		lcm = lcm * x / gcd(lcm, x);
	}

	cout << lcm;
}


감사합니다.

0개의 댓글