#include <iostream>
long long getGCD(long long x, long long y)
{
if(x % y == 0)
{
return y;
}
else
{
return getGCD(y, x%y);
}
}
long long Cal(int num)
{
long long arr[num] = {0};
int i;
long long gcd;
long long lcm;
long long x;
long long y;
for(i=0; i<num; i++)
{
arr[i] = i+1;
}
lcm = arr[num-1];
gcd = arr[num-1];
for(i=num-2; i>=0; i--)
{
if(gcd > arr[i])
{
x = gcd;
y = arr[i];
}
else
{
x = arr[i];
y = gcd;
}
gcd = getGCD(x, y);
if(lcm > arr[i])
{
x = lcm;
y = arr[i];
}
else
{
x = arr[i];
y = lcm;
}
lcm = (x*y) / getGCD(x, y);
}
return lcm;
}
int main(int argc, char** argv) {
int num;
scanf("%d", &num);
printf("%lld", Cal(num));
return 0;
}
'공부' 카테고리의 다른 글
| 사각형의 좌표를 이용해 넓이 계산, 비교 (0) | 2017.03.30 |
|---|---|
| (오일러 6번)1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? (0) | 2017.03.27 |
| (오일러 4번)세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2017.03.27 |
| (오일러 3번)가장 큰 소인수 구하기 (0) | 2017.03.27 |
| (오일러 2번)피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 (0) | 2017.03.27 |
댓글