n_degree = int(input("구하고자 하는 차수(n)을 입력하세요: "))
start_num = 4
gap = 6
n_num = start_num + (n_degree - 1)*gap
print(f"{n_degree}번째 항의 값: {n_num}")
n_sum = n_degree*(start_num + n_num) / 2
print(f"{n_degree}번째 항까지의 합: {n_sum}")
# 출력결과
# 구하고자 하는 차수(n)을 입력하세요: 6
# 6번째 항의 값: 34
# 6번째 항까지의 합: 114.0
n_degree = int(input("구하고자 하는 차수(n)을 입력하세요: "))
start_num = 2
gap = 3
n_num = start_num * (gap**(n_degree-1))
print(f"{n_degree}번째 항의 값: {n_num}")
n_sum = start_num * (1-(gap**n_degree)) / (1-gap)
print(f"{n_degree}번째 항까지의 합: {n_sum}")
# 출력결과
# 구하고자 하는 차수(n)을 입력하세요: 8
# 6번째 항의 값: 4374
# 6번째 항까지의 합: 6560.0
n_degree = int(input("구하고자 하는 차수(n)을 입력하세요: "))
start_num = 2
gap = 2
n_num = start_num * (gap**(n_degree-1))
n_sum = start_num * (1-(gap**n_degree)) / (1-gap)
print(f"{n_degree}번째 항까지의 합: {int(n_sum):,d}")
# 출력결과
# 구하고자 하는 차수(n)을 입력하세요: 30
# 30번째 항까지의 합: 2,147,483,646
n_degree = int(input("구하고자 하는 차수(n)을 입력하세요: "))
org_start_num = 2
dif_start_num = 3
dif_gap = 3
# n_num = org_start_num + sigma_b
sigma_b = (n_degree-1)*(2*dif_start_num + dif_gap*(n_degree-2)) // 2
n_num = org_start_num + sigma_b
print(f"{n_degree}번째 항의 값: {n_num}")
# 출력결과
# 구하고자 하는 차수(n)을 입력하세요: 11
# 11번째 항의 값: 167
n_degree = int(input("구하고자 하는 차수(n)을 입력하세요: "))
first_num = 1
second_num = 1
result_num = 1
idx = 1
fibonacci = list()
while len(fibonacci) < n_degree:
if idx == 1:
fibonacci.append(first_num)
elif idx == 2:
fibonacci.append(second_num)
else:
result_num = first_num + second_num
fibonacci.append(result_num)
first_num = second_num
second_num = result_num
idx += 1
print(f"{n_degree}번째 항의 값: {fibonacci[-1]}")
print(f"{n_degree}번쨰 항까지의 합: {sum(fibonacci)}")
# 출력결과
# 구하고자 하는 차수(n)을 입력하세요: 15
# 15번째 항의 값: 610
# 15번째 항까지의 합: 1596
# for문 사용
num = int(input("팩토리얼 연산을 수행하고자 하는 숫자를 입력하세요: "))
result = 1
for i in range(num, 0, -1):
result *= i
print(f"{num}! = {result}")
# 출력값
# 팩토리얼 연산을 수행하고자 하는 숫자를 입력하세요: 5
# 5! = 120
# math 모듈 사용
import math
print(math.factorial(5))
# 출력값
# 120
# for문 사용
n = 9
r = 4
value = 1
for i in range(n, (n-r), -1):
value *= i
print(value) # 3024
# itertools 모듈 사용
import itertools
print(len(list(itertools.permutations(range(1,10), r=4)))) # 3024
# for문 사용
n = 9
r = 4
value = 1
# 9P4
for i in range(n, (n-r), -1):
value *= i
# 4!
for j in range(r, 0, -1):
value /= j
# 9P4 / 4!
print(int(value)) # 126
# itertools 모듈 사용
import itertools
print(len(list(itertools.combinations(range(1,10), r=4)))) # 126
# (1) 사건 건수: 6C3 * 4C3
# (2) 총 건수: 10C6
# (3) 발생 확률: (1) / (2)
import itertools
count_6C3 = len(list(itertools.combinations(range(1,7), r=3)))
count_4C3 = len(list(itertools.combinations(range(1,5), r=3)))
count_10C6 = len(list(itertools.combinations(range(1,11), r=6)))
prob = (count_6C3 * count_4C3) / count_10C6
print(f"확률: {prob*100:.2f}%")
# 출력결과
# 확률: 38.10%
*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.