※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 1476번 문제인 날짜 계산이다.
문제는 아래 링크를 확인하자.
1476번: 날짜 계산
준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타
www.acmicpc.net
이 문제는 어떤 자연수 x를 15로 나눈 나머지가 E-1, 28로 나눈 나머지가 S-1, 19로 나눈 나머지가 M-1일 때 x+1이 무엇인지 구하는 문제와 같다.
15, 28, 19는 모두 서로소이므로, 세 순서쌍에서 x가 1 증가하기 위해 더해야하는 수 6916, y가 1 증가하기 위해 더해야하는 수 4845, z가 1 증가하기 위해 더해야하는 수 4200을 구해 주어지는 E, S, M값에서 1을 빼 곱해 더한 값을 구하자.
이 값을 15*28*19 = 7980으로 나눈 나머지를 구하면 (답-1)을 알 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using std::cin; using std::cout;
int main()
{
int x, y, z; cin >> x >> y >> z;
cout << ((x - 1) * 6916 + (y - 1) * 4845 + (z - 1) * 4200) % 7980 +1;
return 0;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 10610 // C++] 30 (0) | 2021.03.19 |
---|---|
[BOJ 1094 // C++] 막대기 (0) | 2021.03.18 |
[BOJ 12728 // C++] n제곱 계산 (0) | 2021.03.16 |
[BOJ 2294 // C++] 동전 2 (0) | 2021.03.15 |
[BOJ 11048 // C++] 이동하기 (0) | 2021.03.14 |