def sum_n(n):
s = 0
for i in range(1, n+1): #1부터 n까지 반복
s += i
return s
def sum_n2(n):
return n*(n+1)//2
- sum_n(n) : 덧셈 n번 ==> O(n)
- sum_n2(n) : 덧셈, 곱셈, 나눗셈 각 1번 ==> O(1)
def sum_sq(n):
s = 0
for i in range(1, n+1):
s += i * i
return s
def sum_sq2(n):
return n*(n+1)*(2n+1)//6
- sum_sq() : 곱셈 n번, 덧셈 n번 ==> O(n)
- sum_sq2() : 덧셈 2번, 곱셈 3번, 나눗셈 1번 ==> O(1)