를 만족시킨다. ak=10\(a_k=10\)을 만족시키는 자연수 k\(k\)의 개수를 구하시오.
정답
32\(32\)
풀이
조건을 세 갈래 이동 규칙으로 읽는다
어떤 an\(a_n\)의 값을 알고 있다고 하자. 그러면 조건은 한 인덱스 n\(n\)에서 다음 인덱스들이 만들어진다는 뜻이다.
n→2n\(n\to 2n\)으로 가면 값이 1\(1\) 증가한다.
n→4n+1\(n\to 4n+1\)로 가면 값이 4\(4\) 증가한다.
n→4n+3\(n\to 4n+3\)으로 가면 값이 4\(4\) 증가한다.
따라서 ak=10\(a_k=10\)을 만드는 일은 시작값 1\(1\) 또는 4\(4\)에서 값 10\(10\)까지 가는 이동 방법을 세는 일로 바뀐다.
귀납 조건은 한 항에서 세 종류의 새 인덱스를 만드는 규칙이다.
여기서 a1=1\(a_1=1\)과 a3=4\(a_3=4\)는 문제에서 직접 준 시작점이다. 특히 a3\(a_3\)은 a1\(a_1\)에서 만들어진 값으로 보면 안 된다. 3=4n+3\(3=4n+3\)이 되려면 n=0\(n=0\)이어야 하지만, 조건은 자연수 n\(n\)에 대해서만 주어져 있다.
같은 인덱스를 두 번 세지 않는지 확인한다
이동 방법을 세기 전에 먼저 서로 다른 이동 경로가 같은 k\(k\)를 만들지 않는지 확인해야 한다. 이 확인이 없으면 이동 문자열의 개수를 그대로 더할 수 없다.
1\(1\), 3\(3\)을 제외한 자연수 k\(k\)를 보자. 짝수는 반드시 k=2n\(k=2n\) 꼴이고, 이때 이전 인덱스는 n=2k\(n=\frac{k}{2}\)로 유일하다.
또 5\(5\) 이상의 홀수는 4n+1\(4n+1\) 또는 4n+3\(4n+3\) 중 정확히 하나의 꼴이다. 두 식은 각각 1(mod4)\(1\pmod 4\), 3(mod4)\(3\pmod 4\)인 홀수를 만들기 때문이다. 따라서 이 경우도 이전 인덱스가 유일하다.
결국 1\(1\), 3\(3\)을 제외한 모든 인덱스는 바로 이전 인덱스가 유일하다. 거꾸로 따라 올라가면 어느 시작점에서 왔는지도 유일하므로, 서로 다른 이동 문자열은 서로 다른 인덱스 k\(k\)를 만든다.
이전 인덱스가 유일하므로 이동 문자열을 세어도 중복되지 않는다.
시작점 a_1=1에서 출발하는 경우를 센다
a1=1\(a_1=1\)에서 ak=10\(a_k=10\)이 되려면 총 9\(9\)만큼 증가해야 한다. 값 +1\(+1\) 이동의 횟수를 x\(x\), 값 +4\(+4\) 이동의 횟수를 y\(y\)라 하면 다음 식을 얻는다.
x+4y=9\[x+4y=9\]
가능한 경우는 y=0,1,2\(y=0,1,2\)이다.
y=0\(y=0\)이면 x=9\(x=9\)이다. 전부 +1\(+1\) 이동이므로 방법은 1\(1\)가지이다.
y=1\(y=1\)이면 x=5\(x=5\)이다. 총 6\(6\)번의 이동 중 어느 한 자리에 +4\(+4\) 이동을 넣는지 6\(6\)가지이고, 그 +4\(+4\) 이동은 4n+1\(4n+1\), 4n+3\(4n+3\) 중 하나를 선택할 수 있다. 따라서 방법은 6⋅2=12\(6\cdot2=12\)가지이다.
y=2\(y=2\)이면 x=1\(x=1\)이다. 총 3\(3\)번의 이동 중 어느 한 자리에 +1\(+1\) 이동을 넣는지 3\(3\)가지이고, 두 번의 +4\(+4\) 이동은 각각 2\(2\)가지 선택이 있다. 따라서 방법은 3⋅22=12\(3\cdot2^2=12\)가지이다.
그러므로 a1=1\(a_1=1\)에서 출발하는 경우는 다음과 같다.
1+12+12=25\[1+12+12=25\]
시작점 a_3=4에서 출발하는 경우를 센다
a3=4\(a_3=4\)에서 ak=10\(a_k=10\)이 되려면 총 6\(6\)만큼 증가해야 한다. 이번에는
x+4y=6\[x+4y=6\]
이다.
가능한 경우는 y=0,1\(y=0,1\)이다. y=0\(y=0\)이면 x=6\(x=6\)이므로 전부 +1\(+1\) 이동이고, 방법은 1\(1\)가지이다.
y=1\(y=1\)이면 x=2\(x=2\)이다. 총 3\(3\)번의 이동 중 어느 한 자리에 +4\(+4\) 이동을 넣는지 3\(3\)가지이고, 그 +4\(+4\) 이동은 4n+1\(4n+1\), 4n+3\(4n+3\) 중 하나를 선택할 수 있다. 따라서 방법은 3⋅2=6\(3\cdot2=6\)가지이다.
그러므로 a3=4\(a_3=4\)에서 출발하는 경우는 다음과 같다.
1+6=7\[1+6=7\]두 시작점에서 목표값 10까지 가는 이동 문자열을 각각 센다.
두 시작점의 경우를 더한다
두 시작점은 a1=1\(a_1=1\), a3=4\(a_3=4\)로 따로 주어졌고, 이후의 각 인덱스는 이전 인덱스가 유일하다. 따라서 두 시작점에서 나온 경로는 서로 겹치지 않는다.
전체 개수는
25+7=32\[25+7=32\]
이다. 따라서 ak=10\(a_k=10\)을 만족시키는 자연수 k\(k\)의 개수는 32\(32\)이다.
다시 풀 때는 이 기준만 기억한다
귀납적으로 정의된 수열에서 인덱스가 2n\(2n\), 4n+1\(4n+1\), 4n+3\(4n+3\)처럼 갈라지면 앞에서부터 항을 나열하기보다 한 항이 어떤 새 항을 만드는지 먼저 본다.
그 다음에는 생성 경로가 겹치지 않는지 확인해야 한다. 이 문제에서는 1\(1\), 3\(3\)을 제외한 모든 인덱스의 이전 인덱스가 유일하므로, 값의 증가량과 이동 순서를 세는 방식이 그대로 자연수 k\(k\)의 개수가 된다.