본문 바로가기

수능문제풀이

2025 수능 수학영역 풀이 - 공통문제 (16~20, 홀수형)

지난 번에 이어서 계속한다. 역시 Julia 언어로 진행할 것이고, 이번엔 Symbolics도 함께 활용해볼 예정이다.

문제 16.

방정식
$$
\log_2(x - 3) = \log_4(3x - 5)
$$
를 만족시키는 실수 $x$의 값을 구하시오.

Code
using Roots

# 해의 범위 제한 둔 이유
# log function이 애초에 complex 뱉는 함수기 때문에 실수 x 해 구하려면 3 초과에서 구하는게 맞음

f(x) = log(2, x-3) - log(4, 3x-5)
find_zero(f, (3.0001, 10000))
Output
7.000000000000002

문제 17.

다항함수 $f(x)$에 대하여 $f'(x) = 9x^2 + 4x$이고 $f(1) = 6$일 때, $f(2)$의 값을 구하시오.

Code
function area(f, a, b; N)
    # f must be a positive function
    discrete_range = [a + (b - a)*i/N for i in 1:N]
    sum(f.(discrete_range)) * (b - a)/N
end

fprime(x) = 9x^2 + 4x
f1 = 6

C = f1 - area(fprime, 0, 1; N=10000)
f(x) = area(fprime, 0, x; N=10000) + C
f(2)
Output
33.003750105

이전에도 사용한 적이 있는 수치적분 함수이다.

문제 18.

수열 ${a_n}$이 모든 자연수 $n$에 대하여
$$
a_n + a_{n+4} = 12
$$
를 만족시킬 때, $ \sum_{n=1}^{16} a_n$의 값을 구하시오.

Code
max_a_len = 16
a = [i < 5 ? 1 : undef for i in 1:max_a_len]

for i in 5:max_a_len
    a[i] = 12 - a[i-4]
end

sum(a[1:16])
Output
96
설명
  • $a_1, a_2, a_3, a_4$는 어떤 값으로 초기화 해도 구하려는 답은 바뀌지 않는다. 예시로 $100$ 같은 것을 넣어서 확인해보면 알 수 있고, 조금 생각해보면 그렇다는 걸 알 수 있다.

문제 19.

양수 $a$에 대하여 함수 $f(x)$를
$$
f(x) = 2x^3 - 3ax^2 - 12a^2x
$$
라 하자. 함수 $f(x)$의 극댓값이 $\frac{7}{27}$일 때, $f(3)$의 값을 구하시오.

Symbolics Code
using Symbolics
using Nemo

@variables x, a

fx =  2x^3 - 3*a*x^2 - 12*a^2*x
dx = Differential(x)
dfx = expand_derivatives(dx(fx))
sols = symbolic_solve(dfx, x)
display(substitute(fx, Dict([x => sols[1]])))
display(substitute(fx, Dict([x => sols[2]])))
Symbolics Output

문제19. Symbolics output

Numerics Code
using Roots

extremum_f(a) = 7a^3
f(x; a) = 2x^3 - 3*a*x^2 - 12a^2*x
sol_a = find_zero(x -> extremum_f(x) - 7/27, (0.001, 1000))
ans = f(3; a=sol_a)
Numerics Output
41.0
설명
  • Symbolics Code의 목적은 함수 $f(x)$의 극값 두 개를 $a$에 대해서 계산한다. 지금 문제의 조건에서 $a$가 양수라고 했으므로, Output으로 나온 두 수식 중에 $7a^3$을 극댓값으로 선택한다
  • Numerics Code 에서는 문제의 조건의 극댓값을 갖게하는 $a$를 구하고, $f(3)$을 계산한다

문제 20.

곡선 $y = \left(\frac{1}{5}\right)^{x-3}$ 과 직선 $y = x$가 만나는 점의 $x$좌표를 $k$라 하자. 실수 전체의 집합에서 정의된 함수 $f(x)$가 다음 조건을 만족시킨다.

$x > k$인 모든 실수 $x$에 대하여 $f(x) = \left(\frac{1}{5}\right)^{x-3}$ 이고 $f(f(x)) = 3x$이다.

$f\left( \frac{1}{k^3 \times 5^{3k}} \right)$ 의 값을 구하시오.

Code
using Roots

g(x) = (1/5)^(x - 3)
k = find_zero(x -> g(x) - x, 0.0)

invg(y) = find_zero(x -> g(x) - y, 0.0)
function f(x)
    if x > k
        g(x)
    else
        invg(x)*3
    end
end

f(1/(k^3*5^(3k)))
Output
35.999999997897106
설명
  • $k$ 는 문제의 조건으로부터 바로 계산할 수 있다.
  • $x > k$에서는 함수가 해석적 형태로 잘 주어져 있고, 아마 계산하려는 양은 함수에 들어가는 값이 $x < k$일 것이다. 이 때의 값은 문제의 조건 $f(f(x)) = 3x$로 부터 수치적으로 계산한다. invg함수는 역함수를 계산한다.
반응형