当前位置: 首页 > web >正文

C++使用accumulate函数对数组进行快速求和

C++使用accumulate函数对数组进行快速求和

一、普通数组

1.1方法:

1.先求出数组的长度: int size = sizeof(arr) / sizeof(arr[0]);

2.使用指针作为迭代器调用accumulate函数:int sum = std::accumulate(arr, arr + size, 0);

3.注意带上头文件:“numeric”

1.2代码:

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<numeric>
using namespace std;
int main()
{int arr[] = { 1, 2, 3, 4, 5 };//用总的size除以单个的size得到普通数组的长度int size = sizeof(arr) / sizeof(arr[0]);// 使用指针作为迭代器//其中的0是代表带初值为0的累加int sum = std::accumulate(arr, arr + size, 0);cout << "数组的和为: " << sum << endl;  // 输出15return 0;
}

二、vector动态数组

2.1方法:

1.直接使用vector自带的迭代器调用accumulate函数即可:sum = std::accumulate(ve.begin(), ve.end(), 0);

2.注意带上头文件:“numeric”

2.2代码:

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<numeric>
using namespace std;
int main()
{long long n = 0;long long sum;cin >> n;vector<long long>ve(n, 0);for (long long i = 0; i < n; i++){cin >> ve[i];}sum = std::accumulate(ve.begin(), ve.end(), 0);cout << "数组的和为: " << sum << endl;  return 0;
}
http://www.xdnf.cn/news/3468.html

相关文章:

  • C# System.Text.Json终极指南(十):从基础到高性能序列化实战
  • 论云原生架构及其应用
  • LTspice
  • Codeforces Round 1008 (Div. 2) C
  • ​基于51单片机的数字温度计—可显示负数
  • 23.linux中RGB的转HDMI实验_csdn
  • [c语言日寄]检查环形链表
  • 2025年4月文章一览
  • AD系列:Windows Server 2025 安装AD CS角色和颁发证书
  • 极大电视 0.0.5.2| 基于Web的电视直播应用,提供高清、流畅的央视频道和各大卫视直播,完全免费无广告
  • 文心智能体平台:接入文心最新旗舰版模型!
  • String StringBuilder StringBuffer
  • 数据结构与算法学习笔记(Acwing提高课)----动态规划·背包模型(一)
  • STL之string容器
  • Gen6D代码框架分析
  • 深度学习:基于脑机接口的虚拟世界意识控制探索
  • Qt二维码demo
  • 数据飞轮驱动AI系统持续进化
  • eNSP实验——防火墙 IPSec 配置
  • 【数据结构】 复杂度
  • MCP 多工具协作链路设计:打造真正的智能工作流
  • 单片机-89C51部分:12 pwm 呼吸灯 直流电机
  • 在 Windows 上启用 Telnet 命令
  • 【C++】extern
  • Ubuntu20.04如何优雅的安装ROS 1(胎教级教程)
  • 【软件设计师:复习】上午题核心知识点总结(三)
  • 代码随想录单调栈part1
  • 前端面试每日三题 - Day 21
  • UN R79 关于车辆转向装置形式认证的统一规定(正文部分1)
  • 文章记单词 | 第59篇(六级)