累计相加:输入一个正整数n,求形如:1+(1+2)+(1+2+3)+(1+2+3+4)+……(1+2+3+4+5+……n)的累计相加。(2023年6月GESP认证真题 C++一级试题)
作者:野牛程序员:2024-07-28 10:18:57GESP阅读 3399
累计相加:输入一个正整数n,求形如:1+(1+2)+(1+2+3)+(1+2+3+4)+……(1+2+3+4+5+……n)的累计相加。(2023年6月GESP认证真题 C++一级试题)
2.累计相加
【问题描述】
输入一个正整数n,求形如:1+(1+2)+(1+2+3)+(1+2+3+4)+……(1+2+3+4+5+……n)的累计相加。
【输入描述】
输入一个正整数。约定1≤n≤100。
【输出描述】
输出累计相加的结果。
【样例输入 1】
3
【样例输出 1】
10
【样例输入 2】
4
【样例输出 2】
20
【样例输入3】
10
【样例输出 2】
220
方法一:
根据所提供的问题描述,可以编写一个C++程序来计算累计相加的结果。以下是实现该功能的C++代码:
#include <iostream> int main() { int n; std::cout << "请输入一个正整数 n: "; std::cin >> n; int sum = 0; for (int i = 1; i <= n; ++i) { sum += (i * (i + 1)) / 2; } std::cout << "累计相加的结果是: " << sum << std::endl; return 0; }
代码说明
输入部分:用户输入一个正整数
n
。累加计算:外层循环从
1
到n
,对于每个i
,计算1+2+...+i
的和,并累加到sum
中。公式(i * (i + 1)) / 2
是计算前i
个整数和的标准公式。输出结果:最后输出累积相加的结果。
方法二:
以下是不用公式,通过逐步累加每个序列的方法来实现累计相加的C++代码:
#include <iostream> int main() { int n; std::cout << "请输入一个正整数 n: "; std::cin >> n; int sum = 0; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= i; ++j) { sum += j; } } std::cout << "累计相加的结果是: " << sum << std::endl; return 0; }
代码说明
输入部分:输入一个正整数
n
。累加计算:使用双重循环。外层循环从
1
到n
,对于每个i
,内层循环从1
到i
,逐步累加j
到sum
中。输出结果:最后输出累积相加的结果。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:select into语句
- 下一篇:什么是I/O?_计算机io是指什么