[BOJ] 1964 오각형, 오각형, 오각형...

GirlFriend-Yerin·2020년 8월 27일
0

알고리즘

목록 보기
112/131

Note

그림과 같은 오각형의 점의 개수를 45678로 나눈 나머지를 출력한다.

그림 속 값이 늘어나는 일정한 규칙을 찾자.
과거 도형과 겹치는 부분을 제외하면 길이가 1 늘어난 변이 3개 존재하고 겹치는 점이 2개 존재한다.
% 연산자의 특성을 고려해 결과값을 계산해 나가면 된다.

알고리즘

  1. n을 입력 받는다.
  2. 현재까지의 오각형 점의 수를 45678로 나눈 값 + 이번에 새로 추가된 점의 수 % 45678을 현재 5각형의 수로 정한다. 초기값은 5
  3. 출력한다.

소스코드

#include <iostream>

using namespace std;

const int MAX = 45678;

int main()
{
	int n;
	int res = 5;
	int size = 1;

	cin >> n;

	for (int i = 1; i < n; i++)
		res = (res + (i + 2) + ((i + 1) * 2)) % MAX;

	cout << res;

	return 0;
}

2019-04-01 00:43:16에 Tistory에서 작성되었습니다.

profile
개발할때 가장 행복한 개발자입니다.

0개의 댓글