1부터 n까지 합을 구하는 두 가지 함수 코드 비교 입니다.
작성 언어는 C++이면 c언어에서 사용할 때는 cout endl 함수를 printf 로 변경하시면 됩니다.
sum 함수와 recursive 함수의 경우 언어에 상관없이 가져다 쓰시면 됩니다.
- 예 제 -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include<iostream> using std::cout; using std::endl; int sum(int n) { //1부터n까지의 합(for) int sum = 0; //초기화 for (int a = 1; a <= n; a++) sum += a; return sum; } int recursiveSum(int n) { //1부터n까지의 합(재귀) if (n == 1) //탈출 조건 return 1; else return n + recursiveSum(n - 1); //재귀호출 } int main() { cout << "sum(for) : " << sum(4000)<<endl; cout << "sum(재귀) : " << recursiveSum(4000) << endl; return false; } |
'알고리즘' 카테고리의 다른 글
C++ 스택(Stack), 연결 리스트(LinkedList) 코드 (0) | 2018.06.07 |
---|---|
구간 합, 구간 최대값 등 구하기 (세크먼트 트리 Segment Tree 이용) (0) | 2018.06.02 |
C/C++ 2진 탐색(Binary Search) 예제 코드 (0) | 2018.05.24 |
C/C++ 병합정렬(Merge Sort) 코드 (0) | 2018.05.24 |
분할 정복을 이용 1부터 n까지 합 구하는 함수, 알고리즘 (0) | 2018.04.02 |