그림과 같은 오각형의 점의 개수를 45678로 나눈 나머지를 출력한다.
그림 속 값이 늘어나는 일정한 규칙을 찾자.
과거 도형과 겹치는 부분을 제외하면 길이가 1 늘어난 변이 3개 존재하고 겹치는 점이 2개 존재한다.
% 연산자의 특성을 고려해 결과값을 계산해 나가면 된다.
#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에서 작성되었습니다.