(3주차) 9월16일
2010(나) 6월/평가원 4 (고3), 2021(가) 9월/평가원 10(고3), for문
-
(1/2): 2010(나) 6월/평가원 4 (고3)
-
(2/2): 2021(가) 9월/평가원 10 (고3), for문
-
추가영상: 주피터랩, Rstudio
(문제) 실수 $a$가 $\frac{2^a+2^{-a}}{2^{a}-2^{-a}}=-2$를 만족시킬때, $4^a+4^{-a}$의 값은?
(보기) (1) $\frac{5}{2}$ (2) $\frac{10}{3}$ (3) $\frac{17}{4}$ (4) $\frac{26}{5}$ (5) $\frac{37}{6}$
(풀이)
-
먼저 $\frac{2^{a}+2^{-a}}{2^a-2^{-a}}=-2$를 만족하는 $a$를 찾아보자.
-
$f(a)=\frac{2^{a}+2^{-a}}{2^a-2^{-a}}$라고 두고 $f(a)=-2$를 만족하는 $a$를 찾으면 된다.
-
함수를 선언하자.
### 이렇게 한다고 함수가 선언되지는 않는다.
f(a) = (2^a + 2^(-a)) / (2^(a)-2^(-a))
f<-function(a){
(2^a + 2^(-a)) / (2^(a)-2^(-a))
}
-
잘 선언되었는지 확인: $a=1$을 넣으면 $f(a)=\frac{2+0.5}{2-0.5}=\frac{2.5}{1.5}$
print(f(1))
print(2.5/1.5)
- 잘 선언된 것 같다.
-
$f(a)$의 그래프를 그리고 $f(a)=-2$에 해당하는 수평선을 그려서 대략적으로 값을 유추하여 보자.
a=seq(from=-5,to=5,by=0.1)
plot(a,f(a))
abline(h=-2,col='red')
-
우선 $-2 < a< 0$ 인 것 같다. 범위를 좁히고, by
옵션을 사용하여 더 촘촘히 다시 그려보자.
a = seq(from=-2, to=0, by=0.0001)
plot(a,f(a))
abline(h=-2,col='red')
- ??
- 함수모양을 보니 $a=0$이면 $f(a)$의 분모가 0이 되어서 정의되지 않음.
-
범위를 $-2 < a< -0.1$ 로 수정해보자.
a = seq(from=-2, to=-0.1, by=0.0001)
plot(a,f(a),type='l',lwd=4)
abline(h=-2,col=2,lty=2,lwd=4)
- col: 칼라조정 (2=빨강, 'red'=빨강 // 4=파랑, 'blue'=파랑)
- lty: 점선의 type조정
- lwd: 선의 두께 조정
-
이제 해를 찾아보자. $f(a)=-2$를 찾아야 하므로 f(a)== -2
를 조건식으로 걸자.
f(a)== -2
-
이중에 적당한 값이 있어야 한다. 보이진 않지만 (너무 많아서 눈으로 찾을수는 없지만) 어딘가에 TRUE가 하나는 있을것이다.
-
TRUE가 있는지 체크할 수 있는 방법은 없을까?
-
컴퓨터가 TRUE, FALSE를 1,0으로 각각 인식함.
-
아래 예제를 관찰
TRUE + FALSE
TRUE*2
TRUE+(FALSE-1) * 2
2*c(TRUE, FALSE, TRUE) # 2*c(1,0,1)
sum(c(TRUE,FALSE,TRUE))
-
그럼 이제 f(a)==-2
의 결과에서 TRUE가 진짜 있는지 찾아보자.
sum(f(a)==-2)
-
??? 없음..
-
사실 컴퓨터는 근사계산을 하였으므로 $f(a)=-2$인 $a$를 정확하게 찾기는 힘들다. 따라서 적당히 $f(a) \approx -2$인 $a$를 찾는게 더 합리적이다.
-
$f(a) \approx -2 $ 인 $a$를 찾는건 $f(a)+2 \approx 0$인 $a$를 찾는것과 같다.
-
목표: 즉 $f(a)+2$ 의 "절대값"이 0에 가까운 원소를 고르면 된다.
*
참고: 절대값을 구하는 방법
abs(c(1,2,-2,3,-4))
-
위를 응용하면
min(abs(f(a)+2)) # f(a)의 절대값중 가장 작은 값
-
이제 $a$는 아래와 같이 구할 수 있다.
TFarray <- abs(f(a)+2) == min(abs(f(a)+2))
a[TFarray]
$a=-0.7925$
-
따라서 $4^{a}+4^{-a}$는
4^(0.7925) + 4^(-0.7925)
(보기) (1) $\frac{5}{2}$ (2) $\frac{10}{3}$ (3) $\frac{17}{4}$ (4) $\frac{26}{5}$ (5) $\frac{37}{6}$
보기와 비교해보면
c(5/2,10/3,17/4,26/5,37/6)
따라서 답은 2번이다.
(문제) 수열 $\{a_n\}$은 $a_1=12$이고, 모든 자연수 $n$에 대하여 $a_{n+1}+a_n=(-1)^{n+1}\times n$을 만족시킨다. $a_k> a_1$인 자연수 $k$의 최소값은?
(보기) (1) $2$ (2) $4$ (3) $6$ (4) $8$ (5) $10$
(풀이1)
a1=12
n=1
a2= -a1 +(-1)^(n+1)*n
n=2
a3= -a2 +(-1)^(n+1)*n
a3
보기를 보니까 10이 최대값이므로 $a_{10}$까지만 구해보자.
a1=12
n=1
a2= -a1 +(-1)^(n+1)*n
n=2
a3= -a2 +(-1)^(n+1)*n
n=3
a4= -a3 +(-1)^(n+1)*n
n=4
a5= -a4 +(-1)^(n+1)*n
n=5
a6= -a5 +(-1)^(n+1)*n
n=6
a7= -a6 +(-1)^(n+1)*n
n=7
a8= -a7 +(-1)^(n+1)*n
n=8
a9= -a8 +(-1)^(n+1)*n
n=9
a10= -a9 +(-1)^(n+1)*n
a<-c(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
print(a)
(1:10)[a>12]
답은 (4) $8$ 이다.
(풀이2)
-
풀이2를 소개하기 전에 아래와 같이 벡터를 넣는 법을 생각하자.
*
예비학습
a_ <-c()
a_
a_[1] <- 12
a_
a_[2] <- -12
a_
a_[4] <- 3
a_
-
풀이시작 (for문)
a<-c()
a[1] <- 12
## 아래와 같은 코드를 구현하고 싶다.
n=1~9
a_{n+1}= -a_n +(-1)^(n+1)*n
for(n in 1:19){
a[n+1]<- -a[n]+(-1)^(n+1)*n
}
print(a)
print((1:20)[a>12])
답은 (4) 8이다.
숙제
-
2021(가) 9월/평가원 10(고3) 에 해당하는 수열을 40번째 항까지 구하라.