用c++给出前缀和解答
时间: 2025-04-30 13:37:43 浏览: 27
### C++ 实现前缀和算法
对于给定的一维数组 `a`,可以通过遍历该数组来计算其对应的前缀和数组 `S`。具体来说,在初始化时设定 `S[0] = a[0]` 或者为了方便处理边界情况设为 0;随后通过循环迭代更新每一个位置上的前缀和值。
下面是一个简单的例子展示如何利用C++编写一段程序完成这一操作:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 计算并返回前缀和数组 S
vector<int> calculatePrefixSum(const vector<int>& nums) {
int length = nums.size();
vector<int> prefix_sum(length);
if (!length) return prefix_sum;
prefix_sum[0] = nums[0];
for(int i = 1; i < length; ++i){
prefix_sum[i] = prefix_sum[i - 1] + nums[i]; // 构建前缀和关系[^2]
}
return prefix_sum;
}
int main(){
vector<int> array = {1, 2, 3, 4};
vector<int> result = calculatePrefixSum(array);
cout << "Original Array: ";
for(auto& num : array){
cout << num << ' ';
}
cout << "\nPrefix Sum Array: ";
for(auto& sum : result){
cout << sum << ' ';
}
return 0;
}
```
此代码片段定义了一个名为 `calculatePrefixSum` 的函数用于接收输入数组,并按照公式 \(S[i]=S[i−1]+a[i]\) 来构建新的前缀和数组。最后打印原始数据以及相应的前缀和序列以便验证结果正确性。
阅读全文
相关推荐



















