[Algorithm] 1부터 n까지의 합
1부터 n까지의 합 구하기
방법1
def sum(n):
result = 0
for i in range(1, n + 1):
result = result + 1 # result += i
return result
print(sum(10))
print(sum(100))
방법2
def sum(n):
return n * (n + 1) // 2
print(sum(10))
print(sum(100))
연습문제
1부터 n까지 연속한 숫자의 제곱의 합을 구하는 프로그램을 for 반복문으로 만들기 (ex. n = 10이라면 1^2 + 2^2 + 3^2 + … + 10^2 = 385)
방법 1
def sum(n):
result = 0
for i in range(1, n + 1):
result = result + (n * n)
return result
print(sum(10))
print(sum(100))
계산 복잡도는 O(n)
방법 2
def sum(n):
return n * (n + 1) * (2 * n + 1) / 6
print(sum(10))
print(sum(100))
계산 복잡도는 O(1)