-
728x90
1부터 n까지 연속한 숫자의 합
의사코드(pseudocode)로 알고리즘을 설계해보면 다음과 같이 생각해볼 수 있다.
- 합을 기록할 변수 s를 만들고 0을 저장한다.
- 변수 i를 만들어 1부터 n까지의 숫자를 1씩 증가시키며 반복한다.
- 기존의 s에 i를 더하여 얻은 값을 다시 s에 저장한다.
- 반복이 끝났을 때 s에 저장된 결과값을 리턴한다.
첫 번째 방법
def sum_n(n): # 합을 계산할 변수 s = 0 # 1부터 n까지 반복(n+1은 제외) for i in range(1, n+1): s = s + i return s print(sum_n(10)) print(sum_n(100)) # 실행 결과 55 5050
두 번째 방법
수학자 가우스의 방법을 이용해 풀 수 있다.
def sum_n(n): # 슬래시 두개는 정수 나눗셈 return n * (n+1) // 2 print(sum_n(10)) print(sum_n(100)) # 실행 결과 55 5050
Reference
728x90'Developer > Algorithm' 카테고리의 다른 글
최댓값, 최솟값 찾기 & 최댓값 위치 구하기 (0) 2021.07.08 1부터 n까지 제곱의 합 (0) 2021.07.06 절대값 구하기 (0) 2021.07.06 댓글