[11일차] 기초수학 4

하은·2023년 10월 31일
0
post-custom-banner

015. 등비수열

- 등비수열

- 연속된 두 항의 비가 일정한 수열

- 2  6  18  54  162  ...
    3  3  3   3  = 공비(r)

- 두 항의 비가 3인 등비수열

- 등비수열과 일반항

- 등비수열 규칙성을 이용해서 일반항을 구할 수 있다.

2  6  18  54  162  486 ...
a1 a2 a3  a4   a5   a6

a2 / a1 = 3
a3 / a2 = 3
...
an / an-1 = 3

->
an / a1 = 3^(n-1)
an = a1 * r*(n-1) = 일반항

an = a1 r(n-1) = 일반항

- 등비중항

- 연속된 세 항에서 가운데 항

2  6  18  54  162  486 ...
	  18   *  162  
      =   54^2

an-1 * an+1 = an^2 = 등비중항

an-1 * an+1 = an^2 = 등비중항

- 등비수열의 합

- 규칙성을 이용해서 모든 항들의 총합을 구할 수 있다.

2  6  18  54  162  486 ...
a1 a2 a3  a4   a5   a6

r = 3

sn = (a1 * r^0) + (a1 * r^1) + (a1 * r^2) +...+ (a1 * r^(n-1))
r*sn = (a1 * r^1) + (a1 * r^2) + (a1 * r^3) +...+ (a1 * r^(n))

(1-r)sn = (a1 * r^0) - (a1 * r^(n))
sn = (a1 * r^0) - (a1 * r^(n)) / (1-r)
sn = a1(1 - r^(n)) / (1-r) = 수열의 합

sn = a1(1 - r^(n)) / (1-r) = 수열의 합

실습) 다음 수열의 일반항을 구해보자

2  4  8  16  32  64

an = a1 * r^(n-1)
an = 2 * 2^5


5  15  45  135  405  1215

an = a1 * r^(n-1)
an = 5 * 3^5

실습) 다음 수열에서 a2와 a6의 등비중항을 구해보자

2  4  8  16  32  64

an-1 * an+1 = an^2
4 * 64 = an^2
an = 16


5  15  45  135  405  1215

an-1 * an+1 = an^2
15 * 1215 = an^2
an = 135

실습) 다음 수열의 합을 구해보자

2  4  8  16  32  64

sn = a1 * (1-r^n) / (1-r)
= 2 * (1-2^6) / 1-2 = 126


5  15  45  135  405  1215

sn = a1 * (1-r^n) / (1-r)
= 5 * (1-3^6) / 1-3 = 1820

016. 등비수열(파이썬)

- 등비수열(비가 일정한 수열)

- 다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자

an = {2, 4, 8, 16, 32, 64, ... }

inputN1 = int(input('a1 입력: '))
inputR = int(input('공비 입력: '))
inputN = int(input('n 입력: '))

valueN = 0
n = 1
while n <= inputN:
    if n == 1:
        valueN = inputN1
        print('{}번째 항의 값: {}'.format(n, valueN))
        n += 1
        continue

    valueN *= inputR
    print('{}번째 항의 값: {}'.format(n, valueN))
    n += 1

print('{}번째 항의 값: {}'.format(inputN, valueN))

-->
a1 입력: 2
공비 입력: 2
n 입력: 7
1번째 항의 값: 2
2번째 항의 값: 4
3번째 항의 값: 8
4번째 항의 값: 16
5번째 항의 값: 32
6번째 항의 값: 64
7번째 항의 값: 128
7번째 항의 값: 128

또는

#등비수열(일반항) 공식: an = a1 * r^(n-1)
valueN = inputN1 * (inputR ** (inputN - 1))
print('{}번째 항의 값: {}'.format(inputN, valueN))

-->
a1 입력: 2
공비 입력: 2
n 입력: 7
7번째 항의 값: 128

017. 등비수열(파이썬)

- 다음 수열을 보고 n번째 항까지의 합을 출력하는 프로그램을 만들어보자

an = {5, 15, 45, 135, 405, ...}

inputN1 = int(input('a1 입력: '))
inputR = int(input('공비 입력: '))
inputN = int(input('n 입력: '))

valueN = 0
sumN = 0
n = 1
while n <= inputN:

    if n == 1:
        valueN = inputN1
        sumN += valueN
        print('{}번째 항까지의 합: {}'.format(n, sumN))
        n += 1
        continue

    valueN *= inputR
    sumN += valueN
    print('{}번째 항까지의 합: {}'.format(n, sumN))
    n += 1

print('{}번째 항까지의 합: {}'.format(inputN, sumN))

-->
a1 입력: 5
공비 입력: 3
n 입력: 7
1번째 항까지의 합: 5
2번째 항까지의 합: 20
3번째 항까지의 합: 65
4번째 항까지의 합: 200
5번째 항까지의 합: 605
6번째 항까지의 합: 1820
7번째 항까지의 합: 5465
7번째 항까지의 합: 5465

또는

#등비수열(합)공식: sn = a1 * (1-r^n) / (1-r)
sumN = inputN1 * (1 - (inputR ** inputN)) / (1 - inputR)
print('{}번째 항까지의 합: {}'.format(inputN, int(sumN)))

-->
a1 입력: 5
공비 입력: 3
n 입력: 7
7번째 항까지의 합: 5465
post-custom-banner

0개의 댓글