[2주차] 기초수학 4~6

이철민·2023년 2월 8일

[수열]

  • 수열: 규칙성을 가지고 나열되어 있는 수들

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

  • an = a1 + (n-1)d
  • sn = n(a1+an)/2
# 등차수열(파이썬)

#  반복문 이용
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))

valueN = 0

n = 1
while n <= inputN:

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

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

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

# 등차수열 공식으로 구하기

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

valueN = 0

valueN = inputN1 + (inputN-1) * inputD
print('{}번째 항의 값: {}'.format(inputN,valueN))
# 등차 수열의 합 구하기

inputN1 = int(input('a1 입력: '))
inputD = 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

    else:
        valueN += inputD
        sumN += valueN
        print('{}항까지의 합: {}'.format(n,sumN))
        n += 1

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

------------------------------------------

# 등차 수열의 합 공식 사용

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

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

  • an = a1 * r^(n-1)
  • sn = a1 * (1-r^n) / (1-r)
# 등비 수열의 항

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

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

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

--------------------------------------------------------

# 공식 사용
# an = a1 * r^(n-1)

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

valueN = 0

valueN = inputN1 * (inputR ** (inputN-1))
print('{}번째 항의 값: {}'.format(inputN,valueN))
# 등비 수열 총합 구하기

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))

--------------------------------------------------------

# 공식 이용해서 등비 수열의 합 구하기
# sn = a1 * (1-r^n) /(1-r)

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


sumN = inputN1 * (1-(inputR**inputN)) /(1-inputR)
print('{}번째 항까지의 합: {}'.format(inputN, int(s

시그마: 수열의 합을 나타낸 기호

# 등차 수열의 합
# an = a1 + (n-1)d
# sn = n(a1+an) / 2

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

valueN = 0
sumN = 0

valueN = inputN1 + (inputN-1) * inputD
sumN = inputN * (inputN1+valueN) /2

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

--------------------------------------------------------

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

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

sumN = inputN1 * (1-(inputR ** inputN)) / (1-inputR)
print('{}번째 항까지의 합: {}'.format(inputN,int(su

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

  • an = {3, 7, 13, 21, 31, 43, 57 ---}
    bn(계차수열) = {4, 6, 8, 10, 12, 14 ---}
# an 의 n번째 항의 값을 구하시오
# an = {3, 7, 13, 21, 31, 43, 57 ---}
# bn(계차수열) = {4, 6, 8, 10, 12, 14 ---}

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('an의 {}번째 항의 값: {}'.format(n,valueAN))
        print('bn의 {}번째 항의 값: {}'.format(n,valueBN))
        n += 1
        continue

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

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

# 계차수열 공식 사용

# bn 수열의 일반항 = 2n+2
# b(n) 수열의 (n-1)항까지의 총합 = (n-1)(b1+bn)/2 = (k-1)(4+2(k-1)+2)/2 =  k^+k-2

# =>  k^+k-2 = an-3
# => an = k^+k+1
# => an = n^2 + n + 1

inputAN1 = int(input('a1 입력: '))
inputAN = int(input('an 입력: '))

valueAN = inputAN ** 2 +inputAN + 1
print('an의 {}번째 항의 값: {}'.format(inputAN,val
profile
늘 온 마음을 다해 :)

0개의 댓글