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))
반복문
inputN = int(input('n 입력: '))
result = 1 for n in range(1, inputN + 1): result *= n
print('{} 팩토리얼: {}'.format(inputN, result))
재귀 함수
def factorialFun(n): if n == 1: return 1
return n * factorialFun(n - 1)
print('{} 팩토리얼: {}'.format(inputN, factorialFun(inputN)))
inputN = int(input('n 입력: '))
flag = True n = 1 nCnt = 1 searchN = 0
while flag: for i in range(1, (n + 1)): if i == n: print('{} '.format(i), end='') else: print('{} '.format(i), end='') nCnt += 1 if (nCnt > inputN): searchN = i flag = False break print() n += 1
print('{}항: {}'.format(inputN, searchN))
순열은 팩토리얼(계승)을 이용해서 나타낼 수 있다
예시)
numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) result = 1
for n in range(numN, (numN-numR), -1): print('n : {}'.format(n)) result *= n
print('result: {}'.format(result))
n = int(input('친구 수 입력: ')) result = 1
for i in range(1, n): result *= i
print('result: {}'.format(result))
numN = int(input('numM 입력: ')) numR = int(input('numR 입력: ')) resultP = 1 resultR = 1 resultC = 1
for n in range(numN, (numN - numR), -1): print('n: {}'.format(n)) resultP *= n print('resultP: {}'.format(resultP))
for n in range(numR, 0, -1): print('n: {}'.format(n)) resultR *= n print('resultR: {}'.format(resultR))
resultC = int(resultP / resultR) print('resultC: {}'.format(resultC))
def proFun(): numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) resultP = 1 resultR = 1 resultC = 1
for n in range(numN, (numN - numR), -1): resultP *= n print('resultP: {}'.format(resultP)) for n in range(numR, 0, -1): resultR *= n print('resultR: {}'.format(resultR)) resultC = int(resultP / resultR) print('resultC: {}'.format(resultC)) return resultC
sample = proFun() print('sample: {}'.format(sample)) event1 = proFun() print('sample: {}'.format(event1)) event2 = proFun() print('sample: {}'.format(event2)) probability = (event1 * event2) / sample print('probability: {}%'.format(round(probability * 100, 2)))
조합 부분에서 순열 값을 이용하여 공식을 사용하는것이 가장 기억에 잘 남고 재미있었다
확률부분을 파이썬을 이용할때 코드짜는 부분에서
sample과 event부분이 이해가 잘 가지 않았다
이해도 중요하지만 정 모르겠으면 그냥 외우는 것도 답이 될때가 있는 것 같다
내일부터는 다시 평일이니 마음 단단히 먹고 공부 시작해야겠다
내일은 기초수학 문제풀이를 할 예정이다