티스토리 뷰

728x90

문제 링크

https://www.acmicpc.net/problem/21868

 

21868번: 미적분학 입문하기

첫 번째 줄에는 양수 $\epsilon$을 분수로 표현했을 때의 분자와 분모가 공백으로 구분되어 주어진다. 각 분자와 분모는 $1$ 이상 $10\,000$ 이하의 자연수다. 두 번째 줄에는 일차 이하의 다항함수 $f

www.acmicpc.net

풀이

엡실론-델타 논법을 공부한지 좀 되어서 다음 글을 참고하였습니다.

엡실론 델타 논법(ε-δ 논법)으로 함수의 극한 더 잘 이해하기 - 류모찌

 

주어진 다항 함수를 다음처럼 씁시다.

$$f(x) = ax + b$$

 

문제에서 요구하는 $L$은 극한값이므로, 단순히 $f(x_0)$ 값을 구해주면 됩니다.

 

다음으론 $\delta$의 최댓값을 구해야합니다.

위의 글을 참고하면, $x$가 $x_0$와 다른 값을 가지면서 한없이 가까워진다는 표현을 다음처럼 쓸 수 있습니다.

 

적당한 양수 $\epsilon$에 대해, $0 < |x - x_0| < \epsilon$

 

그리고  $(|f(x) - L| < \epsilon)$ 을 만족시키는 $(0 < |x - x_0| < \delta)$ 에서 $\delta$값을 찾을 수 있습니다.

 

$$0 < |x - x_0| < \delta \implies |a(x - x_0)| < \epsilon$$

$$0 < |x - x_0| < \delta \implies |x - x_0| < \dfrac{\epsilon}{|a|}$$

이므로,

 

$$\delta \leq \dfrac{\epsilon}{|a|}$$

이고, $\delta$의 최댓값은 $\dfrac{\epsilon}{|a|}$ 입니다.

 

$a$가 $0$인 경우 "0 0"을 출력해주면됩니다.

 

정답 코드

const fs = require('fs');
const stdin = fs.readFileSync('/dev/stdin').toString().split('\n');
const input = (() => {
    let line = 0;
    return () => stdin[line++];
})();

const main = function () {
    const [입실론분자, 입실론분모] = input().split(' ').map(Number);
    const [a, b] = input().split(' ').map(Number);
    const x0 = +input();

    const L = a * x0 + b;
    console.log(L);

    if(a === 0) {
        console.log('0 0');
        return;
    }
    const 분자 = 입실론분자, 분모 = 입실론분모 * Math.abs(a);
    console.log(분자, 분모);
};

main();
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함