프로베니우스의 동전 문제는, a원의 동전과 b원의 동전만으로 만들 수 없는 금액의 최댓값을 구하는 문제입니다.
(이때, a, b는 자연수입니다.)
공식만 알고 있었는데, 정확한 적용 범위가 헷갈려서 아예 증명을 해봅니다. 잘못된 부분이 있다면 알려주세요 :)
표기
- N0:= 음이 아닌 정수 집합
- N+:= 양의 정수 집합
Theorem. 서로소인 두 정수 a,b∈N+에 대해 an+bm(n,m∈N0)로 표현할 수 없는 최대의 정수는 ab−a−b이다.
보조정리 1과 보조정리 2가 참임을 보이면 theorem도 참이다.
보조정리 1. an+bm=ab−a−b인 (n,m)은 존재하지 않는다.
표현이 가능하다고 가정하자.
ab−a−b=a(b−1)+b(−1).
a(b−1−k)+b(−1+akb)(1≤k≤b−1)꼴로 표현 될 것이다.
그런데, b와 a는 서로소이므로 b|k여야 한다. 하지만 k<b→b∤k이므로 m∉Z여서 모순이다.
◻
보조정리 2. an+bm로 x≥ab−a−b+1=(a−1)(b−1)를 모두 표현할 수 있다.
{x−ak|0≤k<b}는 b에 대한 완전 잉여계이므로 b|(x−an′)인 n′∈N0가 존재한다. x−an′=bm′(m′∈Z)이라고 하자.
이제 m′이 0 이상임을 보이면 된다.
bm′=x−an′≥(a−1)(b−1)−a(b−1)=−b+1.
⇒b(m′+1)≥1.
⇒m′+1≥1/b>0.
⇒m′>−1⇒m′≥0.
◻
만약 gcd(a,b)≠1이거나, a,b,c의 3가지 동전이 있는 등 다른 경우에는 프로베니우스의 동전 문제 공식이 적용되지 않는다.
따라서 이럴 때에는 표를 만들어 채워나가는 방식이 좋다. 마치 에라토스테네스의 체를 이용하는 것처럼 말이다.
0→{a,b,c}를 지우고, a→{a+a,a+b,a+c}를 지우고, ...를 반복하면 된다. 이 때 표를 적당히 열의 수가 a,b,c 중 하나가 되도록 잡고 그리면 지워지는 패턴이 눈에 더 잘 보인다. 또, a,b,c가 등차수열이면 b를 열의 길이로 잡았을 때 좌우 대칭으로 지워지기 때문에 더 편할 것이다.
'조합론 공부' 카테고리의 다른 글
수학적 귀납법 공부 이모저모 (0) | 2022.06.06 |
---|---|
공부 1 (0) | 2022.06.06 |