Loading [MathJax]/jax/output/CommonHTML/jax.js

합동식이란

고정된 양의 정수 m(1)에 대하여, 두 정수 a, bZm|ab를 만족하면 정수 a, b는 정수 m을 법으로 한 합동(Congruent modulo m) 또는 합동식이라 부르고 기호로는 ab (modm)으로 표시한다.

정리: 고정된 양의 정수 m에 대하여 다음과 같은 합동식이 성립한다.

  1. aa (modm) aZ
  2. ab (modm) ba (modm)
  3. ab (modm), bc (modm) ac (modm)

정리: 합동식의 연산법칙

  1. ab (modm), cd (modm)이면

    • a+cb+d (modm)
    • acbd (modm), akbk (modm), kN

    [증명] ab (modm), cd (modm)이므로 ab=k1m, cd=k2m을 만족하는 정수 k1, k2가 존재한다.

    • (a+c)(b+d)=(ab)+(cd)=(k1+k2)m이므로 성립한다.
    • acbd=acad+adbd=a(cd)+d(ab)=ak2m+dk1m이므로 성립한다.
  2. abac (modm), gcd(a,m)=d이면 bc (mod md)이고 gcd(a,m)=1이면 bc (modm)이다.

    [증명] abac (modm)이므로 abac=ym을 만족하는 정수 y가 존재한다.

    • a(bc)=ym에서 양변을 d로 나누면 ad(bc)=ymd이다. 즉, md|ad(bc)이고 gcd(md,ad)=1이므로 md|(bc)가 된다.

정리: Sa (modm), Sa (modn), gcd(m,n)=1이면 Sa (modmn)

[증명] 주어진 식에 따라 m|Sa, n|Sa이다. gcd(m,n)=1이므로 mn|Sa이다.

예제: 221989+1의 일의 자리 수를 구하여라.

246 (mod 10)이고 21989=4221987이므로 221989=(24)219876 (mod10)이 된다. 그러므로 주어진 식의 일의 자리 수는 7이다.

예제: 77|3636+4141이 성립함을 보여라.

41(36) (mod77)이므로 주어진 식을 3636+(36)41로 치환할 수 있다. 정리하면 3636(1365)이다. 361 (mod7), 363 (mod11)이므로 3629 (mod11), 3635 (mod11)이 된다. 3651 (mod11)이므로 3651 (mod77)이 된다. 136511=0 (mod77)

예제: 5(2k)21000으로 나눈 나머지가 1이 되도록 하는 양의 정수 k 중 가장 작은 것을 구하여라.

21000|5(2k)1을 만족하는 가장 작은 양의 정수를 구해야 한다.

  • k=1 일 때, 521이고 23|521이 성립한다.
  • k=2 일 때, 541이고 인수분해하면 (52+1)(5+1)(51)이 된다. 그리고 2|52+1이므로 24|541이 성립한다.
  • k=3 일 때, 581이고 인수분해하면 (54+1)(52+1)(5+1)(51)이다. 동일한 방법으로 25|581이 성립한다.
  • k=l 일 때, 5(2l)2l+2로 나누어 떨어짐을 알 수 있다.

따라서 주어진 조건을 만족하는 가장 작은 양의 정수는 998이다.

예제: a4+a2+1이 13의 배수가 되도록 하는 30 이하의 자연수 a값들의 합을 구하여라.

a4+a2+1=a4+a212+13=(a2+4)(a23)+130 (mod13)을 만족해야 한다.

  • a2+40 (mod13)인 경우

    a29 or 4여야 하므로 a3 or 3 (mod 13)의 형태를 갖는다. 따라서, 만족하는 수는 3, 10, 16, 23, 29이다.

  • a230 (mod13)인 경우

    a23 (mod13)의 형태를 가져야 하므로 a4 or 4의 형태를 갖는다. 따라서, 만족하는 수는 4, 9, 17, 22, 30이다.

만족하는 값들을 모두 더하면 163이다.

예제: 자연수 n에 대하여 1n+2n+3n+4n을 십진법으로 표시했을 때, 일의 자리에서부터 연속하여 나오는 0의 개수를 f(n)이라 하자. f(n)의 최댓값을 구하여라.

주어진 식을 g(n)이라 하자.

  • g(1)=10이므로 f(1)=1
  • g(2)=30이므로 f(2)=1
  • g(3)=100이므로 f(3)=2

f(n)=3이 되려면, g(n)은 1000으로 나누어져야 한다. 그리고 1000은 8의 배수이므로 8|g(n)을 만족해야 한다. 2n, 4n은 8의 배수이지만, 1n, 3n은 8의 배수가 아니므로 이후의 값에 대해서도 1000의 배수는 존재하지 않는다. 따라서 최댓값은 2이다.

예제: 양의 정수 n의 모든 자리 수의 합을 a(n)이라 하자. 모든 자리의 수가 홀수인 세 자리 양의 정수 n 중, a(n)=a(2n)을 만족하는 것의 개수를 구하여라.

[참고사항] 모든 자리 수의 합은 해당 수를 9로 나눈 나머지와 같다. ( 10k1 (mod9)이므로 a102+b10+ca1+b1+c (mod9))

a(n)n (mod9), a(2n)2n (mod9)이므로 주어진 조건이 성립되려면 n2n (mod9)을 만족해야 한다. 따라서, n0 (mod9)이다.

  • a(n)=9일 때, 만족하는 순서쌍은 (1,1,7), (1,3,5), (3,3,3)이다.
  • a(n)=18일 때, 모든 자리의 수가 홀수인 조건을 만족하지 못한다.
  • a(n)=27일 때, 만족하는 순서쌍은 (9,9,9)이다.

따라서, 만족하는 조합의 개수는 3+6+1로 10이다.

예제: 양의 정수 n에 대하여 f(n)은 완전제곱이 아닌 양의 정수 중 n 번째 수라 하자, 예를 들어, f(1)=2, f(2)=3, f(3)=5, f(4)=6이다. 이 때, f(2010)1000으로 나눈 나머지를 구하여라.

f(3)=22+1, f(7)=32+1, f(13)=42+1이다. 이에 대한 일반식을 세워보면 f(k2+1k)=k2+1임을 알 수 있다. ( 완전제곱수 k2이후 처음 나오는 k2+1은 그 전까지의 제곱수들을 제외한 값이기 때문이다.)

따라서, 4422010452이고 452+1을 값으로 갖는 f(k)k값은 202645=1981이다. f(2010)=f(1981)+29=205555 (mod1000)이다.

예제: 210보다 작은 양의 정수 nn321210의 배수가 되게하는 것의 개수를 구하여라.

n321=(n16+1)(n8+1)(n4+1)(n2+1)(n+1)(n1)이고 문제에서 주어진 조건에 따라 n321이 짝수라면 n은 홀수이다. n=2k+1이라 하면 n21 (mod4)이다. 즉, n2, n4, n8, n161 (mod4)가 성립하여 주어진 식에서 (n+1)(n1)26을 인수로 가져야 함을 알 수 있다. 2k+1을 대입하면 26|22k(k+1)이고 24|k(k+1)이다. 해당 조건을 만족하려면 k=16m or 16m1이 되어 n=32m±1의 형태를 만족해야 한다.

210보다 작은 수는 m의 값이 0인 경우 1, 25의 경우 2101이고 나머지 범위의 값의 경우 2개씩 존재하므로 252=64이다.

예제: 서로소인 양의 정수 a, b에 대하여, a+ba2005+b2005a+b의 최대공약수가 될 수 있는 양의 정수를 모두 구하여라.

a2005+b2005=(a+b)(a2004b0a2003b1++a0b2004)이고 b(a) (mod a+b)이므로 치환하면 (a+b)(a2004+a2004++a2004)가 된다. 따라서 a2005+b2005a+b2005a2004이다.

gcd(a+b,a)=gcd(a,b)=1이므로 gcd(a2004,a+b)=1 이 되어 gcd(a+b,2005a2004)=gcd(a+b,2005)이다. 2005=5401이므로 최대공약수로 가능한 값은 1, 5, 401, 2005이다.

작성에 도움이 된 자료

  • KMO 수학경시 정수론, 장환수학, 임장환 저

+ Recent posts