[BaekJoon] 카잉달력
🔦 문제 링크
✍️ 풀이
x, y
와 동일한 숫자를 만들어야 한다.x
가M
만큼 증가 할 때 다시x
가 된다.- 따라서
x
를M
만큼 증가 시킨 값을n
으로 나눈 나머지가y
인 값을 구한다. - 이 과정을 최소공배수보다 작거나 간단하게는 두
n, m
의 곱까지 진행해준다.
🛠 코드
for _ in range(int(input())):
m, n, x, y = map(int, input().split())
x -= 1 # caculate easily
y -= 1
standard = x
while standard < n * m:
if standard % n == y:
print(standard + 1)
break
standard += m
if standard % n != y:
print(-1)
📝 정리
최소공배수
와최대공약수
를 구하는 방법은 알고있도록 하자.
Author And Source
이 문제에 관하여([BaekJoon] 카잉달력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pyh8618/Programmers-카잉달력저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)