전체 합을 구하기 위해서는 수치 알고리즘인 numeric 헤더 파일을 불러와야 합니다
총 합 구하기 accumulate
accumulate 함수를 사용하면 특정 배열의 총 합을 구할 수 있습니다.
int sum = accumulate(더하고싶은 시작점,더하고싶은 도착점, 초기값);
- x2는 x를 초깃값으로 시작한 구간 [b, e) 순차열 원소의 합입니다.
구간 값의 합 구하기 partial_sum
partial_sum 함수를 사용하면 배열에서 특정 구간의 합을 구할 수 있습니다.
partial_sum(v1.begin(), v1.end(), v2.begin());
- v1의 처음 값부터 v1의 마지막 까지의 합을 v2 에 모두 담습니다
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
vector<int> v1(10,1); // 1 1 1 1 1 1 1 1 1 1
vector<int> v2(10,0); // 0 0 0 0 0 0 0 0 0 0
// iterator 를 사용하면 총 합을 iterator 변수에 저장
vector<int>::iterator iter_end;
// partial_sum을 사용하여 v1의 부분 합을 v2에 저장
iter_end = partial_sum(v1.begin(), v1.end(), v2.begin());
// v2의 요소들을 출력
for (int val : v2) {
cout << val << ' ';
}
cout << '\n';
// 전체 합계를 출력 (v2의 마지막 요소)
cout << "총합: " << v2.back() << '\n';
return 0;
}
'C++' 카테고리의 다른 글
C++ 백준 - 가장 긴 증가하는 부분 수열 (0) | 2024.11.18 |
---|---|
c++ vector 최댓값, 최솟값, 최댓값 인덱스, 최솟값 인덱스 찾기 (0) | 2024.11.14 |
c++ Set 로 중복값 없이 Unique 값 입력받기 (0) | 2024.11.10 |
c++ 진수 변환 (0) | 2024.11.10 |
c++ vector find, erase (0) | 2024.11.09 |