C++

[C++] 요소의 합을 구하는 함수 : accumulate()

kugnuoy 2024. 2. 2. 15:07

array, vector 의 합을 구해주는 함수로 std::accumulate() 가 있다.

파이썬의 sum과 같다고 보면 된다.

 

parameter는 accumulate (first, last, initial value) 로 사용하면 되는데,

initial value는 sum의 초기값으로 항상 정해주어야 한다.

사용 예시를 아래 코드를 보자. 배열의 합을 구할 때는 sum의 초기값을 1로 정해주었다.

#include <bits/stdc++.h>
using namespace std;

int main() {
	vector<int> v {1,2,3};
	int v2[3] = {1,2,3};
	
	cout << accumulate(v.begin(), v.end(), 0) << ' ';
	cout << accumulate(v2, v2+3, 1);
}

[출력] 6 7

https://en.cppreference.com/w/cpp/algorithm/accumulate

 

std::accumulate - cppreference.com

(1) template< class InputIt, class T > T accumulate( InputIt first, InputIt last, T init ); (until C++20) template< class InputIt, class T > constexpr T accumulate( InputIt first, InputIt last, T init ); (since C++20) (2) template< class InputIt, class T,

en.cppreference.com