Zettelkasten/Permanent(퍼미넌트)/등차수열, 등비수열 공식.md
등차수열, 등비수열 공식
등차수열의 합
def arithmetic_sum(a, l, n):
"""
a: 첫째항
l: 마지막항
n: 항의 개수
"""
return n * (a + l) / 2
# 1부터 n까지의 홀수의 합
def odd_sum(n):
"""
n: n번째 홀수까지
예) n=5 → 1+3+5+7+9
"""
a = 1 # 첫째항
l = 2*n - 1 # n번째 홀수 (마지막항)
return arithmetic_sum(a, l, n)
# 2부터 n번째 짝수까지의 합
def even_sum(n):
"""
n: n번째 짝수까지
예) n=5 → 2+4+6+8+10
"""
a = 2 # 첫째항
l = 2*n # n번째 짝수 (마지막항)
return arithmetic_sum(a, l, n)
등비수열의 합
def geometric_sum(a, r, n):
"""
a: 첫째항
r: 공비
n: 항의 개수
"""
if r == 1:
return a * n
else:
return a * (r**n - 1) / (r - 1)
제곱의 합
# 제곱의 합 공식
def sum_of_squares(n):
"""
1² + 2² + 3² + ... + n²
"""
return n * (n + 1) * (2*n + 1) / 6
# 홀수 제곱의 합
def odd_square_sum(n):
"""
1² + 3² + 5² + ... + (2n-1)²
n: n번째 홀수까지
"""
return n * (2*n - 1) * (2*n + 1) / 3
# 짝수 제곱의 합
def even_square_sum(n):
"""
2² + 4² + 6² + ... + (2n)²
n: n번째 짝수까지
"""
return 2 * n * (n + 1) * (2*n + 1) / 3
# 사용 예시
print("처음 5개 홀수 제곱의 합: 1²+3²+5²+7²+9²")
print(f"= 1+9+25+49+81")
print(f"합 = {odd_square_sum(5)}") # 165
print("\n처음 5개 짝수 제곱의 합: 2²+4²+6²+8²+10²")
print(f"= 4+16+36+64+100")
print(f"합 = {even_square_sum(5)}") # 220
# 검증
print(f"\n홀수 직접 계산: {1**2 + 3**2 + 5**2 + 7**2 + 9**2}") # 165
print(f"짝수 직접 계산: {2**2 + 4**2 + 6**2 + 8**2 + 10**2}") # 220
댓글
첫 번째 댓글을 남겨보세요.