울게하소서

aerogomu.egloos.com

포토로그 마이가든



과학/수학 약수의 합이 Sn이 되는 n 찾기 2011/12/26 19:54 by 고무

먼저 n을 소인수 분해했을 때 n = (p1)^a * (p2)^b *....*(p3)^c 이라면,
Sn = (1+p1+..+p1^a) * (1+p2+..p2^b)*...(1+p3+...p3^c) 이다.

Sn 을 그냥 인수분해하면 여러가지 인수의 곱으로 표현할 수 있는데,
Sn=q*r*s = x*y = ... 라고 하자.

q,r,s 또는 x,y 모두가 1+p+p^2+...+p^m 형태로 표현이 가능하다면, 그 때 소인수의 곱이 약수의 합이 Sn을 만족하는 n이 된다.

따라서 Sn을 인수분해하고 각 인수가 1+p+p^2+...+p^m 형태로 표현이 가능한지 확인하면 된다.

이를 위해서

1. q-1을 소인수 분해하여 p를 찾는다.
2. 1에서 찾은 p들에 대해서 q*(p-1)-1 = (1+p+p^2+..+p^m)(p-1) + 1 = p^(m+1) 인지 확인한다. 

예를 들어 Sn=42인 n을 찾는다고 하자.

42=6*7=3*14=1*42=2*21 인데, 2의 경우 1+p+p^2+.. 형태로 표현이 되지 않기 때문에 고려할 필요가 없다.

따라서 3,6,7,14,42 에 대해서만 확인해보면 된다.

<q>  <q-1> <p> <q*(p-1)+1>
  3       2        2     3*(2-1)+1 = 4 = 2^2   ok (3 = 1 + 2^(2-1))
  6       5        5     6*(5-1)+1 = 25 = 5^2  ok (6 = 1 + 5^(2-1))
  7       6       2,3    7*(2-1)+1 = 8 =2^3 ok (7 = 1 + 2^1 + 2^(3-1))
                           7*(3-1)+1 = 15 != 3^m reject
 14     13        13    14*(13-1)+1 = 169 = 13^2 ok (14 = 1 + 13^(2-1))
 42     41        41    42*(41-1)+1 = 1681 =  41^2 ok (42 = 1 + 41^(2-1))

<참고로 (p+1)(p-1)+1 = p^2>

따라서 Sn=42=6*7 = (1+5)(1+2+2^2) => n= 5*2^2 = 20
                   =3*14 = (1+2)(1+13) => n = 2*13 = 26
                   =42 = (1+41) => n= 41

결과적으로 Sn=42인 n은 20, 26, 41이다.

작은 수에 대해서는 그냥 노가다로 하는게 더 빠를 것 같지만, 큰 수에 대해서는  위 방법이 유용할 것이다.

마지막으로 정수론에서는 자연수 n의 약수의 합을 Sigma function이라고 정의하는 모양이다. n=250까지 그 형태는 다음과 같다.





과학/수학 2012 수능 수리 가형 30번 문제 2011/11/14 18:41 by 고무

이번 문제는 방향을 잘못잡아 애를 좀 먹었다. 어쨌거나 처음 구한 답이 오답임을 확인하고 다시 풀었다*. 풀어놓고 보니 참...(풀이는 복잡하게 보이지만 글로 쓰다보니까 그렇게 보이는 것이고, 실제로는 더 간단하다)

문제는 다음과 같다.

(나)의 조건을 다시 써보면 -10 <= a^(t+1) - b^t <= 10 , t >= 1 이고

곰곰히 생각해보고, 또 그래프도 좀 끄적거려 보면 a와 b의 대소관계에 따라 2가지로 구분해서 생각해보면 뭔가 나올 것 같다는 느낌이 온다.

y(t)=a^(t+1) - b^t 라고 하자.

1. a >= b 인 경우
- 이 경우는 당연하게도 t가 증가함에 따라 y(t)도 계속 증가한다. 자 그렇다면 t=1, y(1)= a^2 -b 을 생각해보자.

1.1 a=b 인 경우, (2,2), (3,3) 까지는 (나)의 조건을 만족한다. (4,4)의 경우는 y 값이 10보다 커지므로 만족하지 못하고 a의 제곱항 때문에 a,b가 4보다 큰 경우 (4,4)의 경우보다 더 큰 값이 나온다. 따라서 그 이상을 생각할 필요가 없다.

1.2 a>b 인 경우, (3,2)에서 y(1)=7로 조건을 만족한다. a=4 인 경우, y가 10 이하이려면 b>=6 이어야 하는데, a>b 조건에 위배된다. a=5 인 경우 25-b <=10을 만족하는 b가 2에서 10 사이에는 없다.

1.3 t가 증가함에 따라 y(t)가 증가하므로 1.1과 1.2의 t=1 조건만 보면 된다. 따라서 1번 조건의 경우 만족하는 a,b 쌍은 3개이다.

2. a < b 인 경우
- 이 경우에는 y(t)가 특정 t값을 넘어서면 계속 감소한다. y(t)를 미분하거나 a^(t+1)과 b^t의 대소관계를 비교해보면 쉽게 알 수 있다. t -> (+ inf) => y(t) ->(- inf) 이므로 t=1 인 y(1) = a^2-b < -10 여부만 확인하면 된다. 만약 y(1) = a^2-b >= -10 이면 t>1인 어떤 지점에서는 반드시 -10 < y(t) < 10 을 만족하기 때문이다. 

a<b 조건에서 y(1) 값이 가장 최소가 되는 경우는 a=2, b=10 이다. 이 외의 조합은 (2,10) 조합보다 무조건 큰 값이 나오므로 이 경우만 생각하면 된다. 계산해보면 a=2, b=10에서 y(1) = -6으로 -10보다 크다. 

따라서 a<b 인 모든 순서쌍은 문제의 조건을 만족한다. 이 갯수는 전체 순서쌍 수가 9*9=81 이고 여기서 a=b인 9개를 빼고 반으로 나눠주면 된다. (9*9 -9)/2 = 36

3. 따라서 a>=b 의 3가지에 a<b의 36가지를 더한 39가지가 답이다.


* 처음 풀때는 a < b 조건에서 y(t) = a^(t+1) - b^t 는 t가 증가함에 따라 계속 증가할 것이라고 아무런 근거 없이 가정한게 잘못됐었다. y'(t) = (t+1)*log (a) - t*log(b) = t*log(a/b) + log(a) 이고 log(a/b)< 0 이므로 t 값이 증가하면 기울기는 어디선가는 음이되어 y(t) 값이 곤두박질 치게 된다. 

그러고 보니 수능 본 지 18년이나 되었구나. 아직까지 기억이 생생한데, 벌써..

1 2 3 4 5 6 7 8 9 10 다음