본문 바로가기

수학6

[백준 6064] 카잉 달력 www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 수학 문제이다. 어렵게 접근하면 한없이 어려워지지만 x를 고정하고 y값을 변화시킨다고 생각하면 쉽다. -1이 나오는 경우는 에 해당하는 마지막 k번째 해를 넘어갈 때인데 k는 m과 n의 최소 공배수이다. ++ 최소 공배수 구하기 a와 b의 최소 공배수는 a * b / gcd(a,b)이다. gcd는 유클리드 호제법을 사용하여 구해주면 된다. 정리하는 김에 코드를 간단히 적어본다. int gcd(int a, int b.. 2020. 12. 18.
[백준 1629] 곱셈 www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 모듈러 연산과 제곱 빠르게 하기 응용버전이다. 제곱빠르게 하기는 재귀로도 풀 수 있기 때문에 이전에 풀었던 관련 문제를 참고한다. 이전 포스팅 참고 eazymean.tistory.com/192?category=883575 리트코드에서 동일한 문제를 푼 경험이 있다. 모듈러 연산에 대해서 짚고 넘어가자면 (a*b) mod n = ((a mod n) * (b mod n)) mod n이다. 문제에서 주어진 a,b,c의 범위가 상당히 크므로 long long으로 선언해도 오버플로우가.. 2020. 12. 13.