기초수학(5~8번)

3.014 등차수열(파이썬)

차이가 같은 수열

ex)일반항, n까지 항의 합 출력
inputN1 = int(input('a1 입력 : 5 '))
inputD = int(input('공차 입력 : 4 '))
inputN = int(input('N 입력 : 7 '))
valuenN = 0
sumN = 0

valueN = inputN1 + (inputN - 1) inputD
sumN = inputN
(inputN1 + valueN) / 2
print('{}번째까지의 합 : {}'.format(inputN, int(sumN)))

출력값 :

a1 입력 : 5
공차 입력 : 4
N 입력 : 7
7번째까지의 합 : 119

3.015 등비수열

비가 같은 수열

연속된 두 항의 비가 일정한 수열
r : 공비
(일반항)an = a1 x r^(n-1)
(등비수열의 합) sn = a1 x (1-(r^n)) / (1-r)

3.016 등비수열(파이썬)

ex)

inputN1 = int(input('a1 : 2'))
inputR = int(input('공비 : 2'))
inputN = int(input('n : 7'))

valuenN = 0
n = 1

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

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

print('{}번쨰 항의 값 : {}'.format(inputN, valuenN))

출력값 :

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

ex)an = a1 r^(n-1) 일반항 공식

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

valuenN = inputN1 * (inputR ** (inputN -1))
print('{}번째 항의 값 : {}'.format(inputN, valuenN))

3.017 등비수열(파이썬2)

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

valueN = inputN1 x inputR xx (inputN - 1 )
sumN = inputN1 x (1-(inputR xx inputN)) / (1-inputR)

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

#(일반항)valueN = a1 x r^(n-1)
#(등비수열의 합) sumN = a1 x (1-(r^n)) / (1-r)

3.018 시그마

시그마 : 수열의 합을 나타내는 기호이다.

n(끝)
k=1(시작) 일반항 = a1 x r^(k-1)

3.019 계차수열(두 항의 차로 이루어진 또 다른 수열)

계차수열 : 어떤 수열의 인접하는 두 항의 차로 이루어진 또 다른 수열.

an : {0 3 8 15 24 35 48 63}
bn : {3 5 7 9 11 13 15}

bn은 an의 계차수열이다.

bn의 일반항과 수열의 합을 이용해 an을 구할 수 있다.
시작 k=1, 끝(n-1) , bk= an - a1

3.020 계차수열(파이썬)

EX)

inputAN1 =int(input('a1 값 : '))
inputAN =int(input('an 값 : '))

inputBN1 =int(input('b1 값 : '))
inputBD =int(input('b공차 값 : '))

valueAN = 0
valueBN = 0

n = 1
while n <= inputAN:
if n == 1:
valueAN = inputAN1
valueBN = inputBN1
print('an의 {}번째 항의 값 : {}'.format(n, valueAN))
print('bn의 {}번째 항의 값 : {}'.format(n, valueBN))
n += 1

valueAN += valueBN
valueBN += inputBD
n += 1

print('an의 {}번째 항의 값 : {}'.format(inputAN, valueAN))
print('bn의 {}번째 항의 값 : {}'.format(inputAN, valueBN))

3.021 피보나치 수열

피보나치 : 이탈리아 수학자의 이름.

피보나치 수열 : 세 번째 항은 두 번째 항과 첫 번째 항을 더한 합이다.

3.022 팩토리얼

팩토리얼 : 1부터 양의 정수 n까지의 정수를 모두 곱한 것

0! ->1 = 1 * 0!은 1로 약속한다.
1! ->1 = 1
2! -> 1 x 2 = 2
3! -> 1 x 2 x 3 = 6
4! -> 1 x 2 x 3 x 4 = 24

ex)
inputNum = int(input('n 입력 : 3'))

result = 1
for n in range(1, (inputNum + 1)):
result *= n

print('{}팩토리얼 : {}'.format(inputNum, result))

출력값 :

n : 3
{3}의 팩토리얼 : 6(1x2x3)

ex)재귀함수를 사용하는 경우
def factorialFun(n):
if n == 1 : return 1

return n * factorialFun(n - 1)

print('{}팩토리얼 : {}'.format(inputNum, factorialFun(inputNum)))

3.023~24 군 수열(묶어서 규칙성을 찾자)

군 수열 : 여러 개의 항을 묶었을 때 규칙성을 가지는 수열

Ex)
inputNum = int(input('n항 입력 : 50'))

fLag = True
n = 1; nCnt = 1; searchN = 0

while fLag:

for i in range(1, (n + 1)):

     print('{}, '.format(i), end='')

     nCnt += 1
     if nCnt > inputNum:
         searchN = i
         fLag= False
         break
print()
n += 1

print('{}항:{}'.format(inputNum, searchN))

출력값 :

1
12
123
1234
12345
123456
1234567
12345678
123456789
12345
50항:5

3.025 순열

일렬로 나열하는 경우의 수!

순열 : n개에서 r개를 택하여 나열하는 경우의 수
*순서 중요함.

ex)nPr = 4p3 -> 4 x 3 = 12

순열은 팩토리얼(계승)을 이용해서 나타낼 수 있다.
1. n!/(n-r)! -팩토리얼을 이용한 공식
2. nPr : n(n-1)(n-2)(n-3) .... (n-r+1)

profile
안녕하세요~

0개의 댓글