오늘 강의도 지난 시간에 이어서 기초 수학을 짚어보는 시간이었다.
말이 기초수학이지.. 중고등 수학과정을 최면술을 당해서 지워졌나 싶을 정도로 기억이 나지 않는 나로써는 모든게 낯설기만 했다.
특히 오늘 부분은 그냥 아예 새로 배우는 과정 같았다.
📌 등차수열
- 등차 수열 규칙성을 이용해서 일반항을 구할 수 있다.
an = 수열의 n번째 항
a1 = 첫 번째 항
n은 몇 번째 항인지 나타내는 숫자
d는 공차 (등차수열에서 연속하는 항 사이의 차이)
3, 7, 11, 15, 19 an = a1 + (n-1) * d a1 = 3, d = 4 if n = 3: a1 = 3 + (1-1)*4 = 3 if n = 2: a2 = 3 + (2-1) * 4 = 7
3, 7, 11, 15, 19 Sn = 5(3 + 19) / 2 = 55 Sn = 55```
inputN1 = int(input('a1 입력: '))
inputD = 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 += inputD
print('{}번째 항의 값: {}'.format(n, valueN))
n += 1
print('{}번째 항의 값: {}'.format(inputN, valueN))
a1 입력: 3
공차 입력: 4
n 입력: 7
1번째 항의 값: 3
2번째 항의 값: 7
3번째 항의 값: 11
4번째 항의 값: 15
5번째 항의 값: 19
6번째 항의 값: 23
7번째 항의 값: 27
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
# an = a1 = (n-1)d
valueN = inputN1 + (inputN - 1) * inputD
print('{}번째 항의 값: {}'.format(inputN, valueN))
a1 입력: 3
공차 입력: 4
n 입력: 5
5번째 항의 값: 19
a1 입력: 3
공차 입력: 4
n 입력: 5
1번째 항까지의 값: 3
2번째 항까지의 값: 10
3번째 항까지의 값: 21
4번째 항까지의 값: 36
5번째 항까지의 값: 55
5번째 항까지의 값: 55
2, 6, 18, 54 an = a1 * r^(n-1) r= 공비 a1 = 2 * 3^(1-1) = 2 # 2의 1승은 0이 아니라 1임
2, 6, 18, 54 Sn = a1 * (1-(r^n)) / (1-r) S4 = 2 * (1 - (3^4)) / (1-3) S4 = 80
inputN = int(input('n 입력: '))
valueN = 0
sumN = 0
valuePreN2 = 0
valuePreN1 = 0
n = 1
while n <= inputN:
if n == 1 or n == 2:
valueN = 1
valuePreN2 = valueN
valuePreN1 = valueN
sumN += valueN
n += 1
else:
valueN = valuePreN2 + valuePreN1
valuePreN2 = valuePreN1
valuePreN1 = valueN
sumN += valueN
n += 1
print('{}번째 항의 값: {}'.format(inputN, valueN))
print('{}번째 항까지의 합: {}'.format(inputN, sumN))
n 입력: 9
9번째 항의 값: 34
9번째 항까지의 합: 88
n 입력: 10
10번째 항의 값: 55
10번째 항까지의 합: 143
inputN = int(input('n 입력: '))
def factorialFun(n):
if n == 1: return 1
return n * factorialFun(n - 1)
print('{}팩토리얼: {}'.format(inputN, factorialFun(inputN)))
inputN = int(input('n 입력: '))
import math
print('{}팩토리얼: {}'.format(inputN, math.factorial(inputN)))
inputN = int(input('n항 입력: '))
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 > inputN:
searchN = i
flag = False
break
print()
n += 1
print('{}항: {}'.format(inputN, searchN))
n항 입력: 28
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
28항: 7
경우의 수. 조합을 통해서 확률을 알아볼 수 있다.
수포자의 길로 살아온지 n년차...
그럭저럭 계산기 어플로 버텨왔던 것 같다.
하지만 그것도 한계가 있었다.
사칙연산 이상 넘어가면 머리가 아프기 일쑤였다.
그런 내가... 이제 와서 수학을 공부한다고???
프로그래밍 공부도 한다고?? 데이터 취업을 준비한다고?
세상 일은 역시 알 수가 없다는게 맞는가봉가
강의를 듣는 내내 매우 울고 싶었다. 그래서 오히려 일부로 썸네일 이미지는 웃는 사람으로 세워놔봤다. 그리고 결심했다. 언젠가는 나도 저렇게 웃으리라고... 수학 앞에서 자신있어하리라고..
지금은 수학이든 코딩이든 아직도 깨진 독에 물 붓는 기분이라 버겁다.
하지만 언젠가는 나도 준비가 되어있을 것이다.
제로베이스...제발 도와줘요
지난 날의 나의 모습(..왜 그랬니)