스터디노트_기초수학_2

MR.HAN·2023년 10월 18일

스터디노트

목록 보기
3/9

1. 등차 수열 : 연속된 두 항의 차이가 일정한 수열

등차 수열의 일반항 : an = a1 + (n - 1) d
등차 수열의 합 : sn = n
(a1 + an) / 2

ex. 등차 수열의 n번째 항의 값을 출력하는 프로그램

inputNum1 = int(input('a1 입력 : '))
inputD = int(input('공차 입력 : '))
inputN = int(input('n 입력 : '))

valueN = 0
n = 1

while n <= inputN:

    if n == 1:
        valueN = inputNum1
        print(f'{n}번째 항의 값 : {valueN}')
        n += 1
        continue # while 반복문 처음으로 돌아감.

    valueN += inputD
    print(f'{n}번째 항의 값 : {valueN}')
    n += 1

공식 사용)

inputNum1 = int(input('a1 입력 : '))
inputD = int(input('공차 입력 : '))
inputN = int(input('n 입력 : '))

valueN = 0

# an = a1 + (n - 1) * d
valueN = inputNum1 + (inputN - 1) * inputD
print(f'{inputN}번째 항의 값 : {valueN}')

ex. 등차 수열의 n번째 항까지의 합을 출력하는 프로그램

inputNum1 = int(input('a1 입력 : '))
inputD = int(input('공차 입력 : '))
inputN = int(input('n 입력 : '))

valueN = 0
sumN = 0
n = 1

while n <= inputN:

    if n == 1:
        valueN = inputNum1
        sumN += valueN
        print(f'{n}번째 항까지의 합 : {sumN}')
        n += 1
        continue # while 반복문 처음으로 돌아감.

    valueN += inputD
    sumN += valueN
    print(f'{n}번째 항까지의 합 : {sumN}')
    n += 1

공식 사용)

inputNum1 = int(input('a1 입력 : '))
inputD = int(input('공차 입력 : '))
inputN = int(input('n 입력 : '))

valueN = 0
sumN = 0

# sn = n * (a1 + an) / 2
valueN = inputNum1 + (inputN - 1) * inputD
sumN = inputN * (inputNum1 + valueN) / 2
print(f'{inputN}번째 항까지의 합 : {int(sumN)}')



2. 등비 수열 : 연속된 두 항의 비가 일정한 수열 an = a1 * (r ** (n - 1))

등비 수열의 합 : sn = a1 * (1 - (r ** n)) / (1 - r)

ex. 등비 수열의 n번째 항의 값을 출력하는 프로그램

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

valueN = 0

n = 1
while n <= inputN:

    if n == 1:
        valueN = inputN1
        print(f'{n}번째 항의 값 : {valueN}')
        n += 1
        continue

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

공식 사용)

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

valueN = 0

# an = a1 * (r ** (n - 1))
valueN = inputN1 * (inputR ** (inputN - 1))
print(f'{inputN}번째 항의 값 : {valueN}')

ex. 등비 수열의 n번째 항까지의 합을 출력하는 프로그램

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(f'{n}번째 항까지의 합 : {sumN}')
        n += 1
        continue

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

공식 사용)

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

# sn = a1 * (1 - (r ** n)) / (1 - r)
sumN = inputN1 * (1 - (inputR ** inputN)) / (1 - inputR)
print(f'{inputN}번째 항까지의 합 : {int(sumN)}')



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

ex. 계차수열의 n번째 항의 값을 출력하는 프로그램
an = {3, 7, 13, 21, 31, 43, 57}
bn = {4, 6, 8, 10, 12, 14, 16}

inputAN1 = int(input('a1 입력 : '))
inputAN = int(input('an 입력 : '))
inputBN1 = int(input('B1 입력 : '))
inputBD = int(input('bn 공차 입력 : '))

valueAN = 0
valueBN = 0
n = 1

while n <= inputAN:

    if n == 1:
        valueAN = inputAN1
        valueBN = inputBN1
        print(f'an의 {n}번째 항의 값 : {valueAN}')
        print(f'bn의 {n}번째 항의 값 : {valueBN}')
        n += 1
        continue

    valueAN += valueBN
    valueBN += inputBD
    print(f'an의 {n}번째 항의 값 : {valueAN}')
    print(f'bn의 {n}번째 항의 값 : {valueBN}')
    n += 1



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

a1 = 1, a2 = 1 이고 n > 2 일때, an = a(n-2) + a(n-1)

ex. 피보나치 수열의 n번째 항과 n번째 항까지의 합을 구하는 프로그램

inputN = int(input('n 입력 : '))

valueN = 0
sumN = 0

valueNPreN2 = 0
valueNPreN1 = 0

n = 1
while n <= inputN:
    if n == 1 or n == 2:
        valueN = 1
        valueNPreN2 = valueN
        valueNPreN1 = valueN
        sumN += valueN
        n += 1

    else:
        valueN = valueNPreN2 + valueNPreN1
        valueNPreN2 = valueNPreN1
        valueNPreN1 = valueN
        sumN += valueN
        n += 1

print(f'{inputN}번째 항의 값 : {valueN}')
print(f'{inputN}번째 항까지의 합 : {sumN}')

0개의 댓글