https://artofproblemsolving.com/wiki/index.php/Chicken_McNugget_Theorem
1)
소수 m, n와 임의의 정수 a,b로 나타낼 수 없는 am+bn(소수m,n의 linear combination)의 최대값은 mn-m-n이며 이를 초과하는 수는 모두 am+bn으로 나타낼 수 있다.
또한 am+bn으로 나타낼 수 없는 값의 개수는 다음과 같다
2)
소수가 아닌 일반 양의 정수 m, n에 대해서도 일반화 한다면,
우선 m,n의 linear combination인 am+bn을 다음과 같이 변환한다.
위 두개는 서로소이므로 이들에 대해서 치킨맥너겟 정리를 적용하면 아래와 같이 정리된다.
gcd(m,n)을 마저 곱해주면
따라서 lcm(m,n)-m-n을 초과하는 gcd(m,n)의 배수는 am+bn꼴로 나타낼 수 있다.
관련문제)
https://codeforces.com/contest/1245/problem/A
'알고리즘 > 메모' 카테고리의 다른 글
그리디 (0) | 2019.12.18 |
---|---|
pair 배열에서 이분탐색 stl 사용하기 (lower_bound 등) (0) | 2019.11.14 |
LCA - Lowest Common Ancestor (최소공통조상) (0) | 2019.10.01 |
행렬의 표현 (0) | 2019.09.27 |
KMP (0) | 2019.09.18 |