2 条题解
-
0
对一组整数进行迭代累积求和。具体逻辑如下:
读取整数个数 n 和 n 个整数;
通过循环对这组整数进行特殊累加:
每次循环将当前整数加到临时变量 ans 中;
再将 ans 的值累加到总和 sum 中;
最后更新 ans 为当前 sum 的值,作为下一轮累加的基础;
循环结束后,输出最终的 sum。#include <stdio.h> // 包含标准输入输出库 int main() { int n; // 存储整数的个数 int num[100]; // 存储输入的整数数组(最大容量100) long long ans = 0; // 临时累加变量,用long long防止溢出 long long sum = 0; // 总累积和,用long long防止溢出 // 读取整数个数n scanf("%d", &n); // 读取n个整数到数组num中 for (int i = 0; i < n; i++) { scanf("%d", &num[i]); } // 迭代计算累积和 for (int i = 0; i < n; i++) { ans += num[i]; // 临时变量累加当前整数 sum += ans; // 总和累加临时变量的值 ans = sum; // 更新临时变量为当前总和,用于下一轮计算 } // 输出最终的累积和 printf("%lld\n", sum); return 0; }
信息
- ID
- 617
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 38
- 已通过
- 10
- 上传者