c++题解
2026-05-05 14:06:40
发布于:山西
67阅读
0回复
0点赞
题目意思
输入 n,计算:
1 + (1+2) + (1+2+3) + … + (1+2+…+n)
比如 n=3:
1 + 3 + 6 = 10
这道题有两种解法:
1.循环嵌套
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
sum+=j;
}
}
cout<<sum;
return 0;
}
2.只需要一层循环
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
long long sum=0;
int sum1=0; // 记录每一项内部的和 (1, 1+2, 1+2+3...)
// 只需要一个循环
for (int i=1;i<=n;i++)
{
sum1+=i; // 1. 更新当前项的和 (比如从 3 变成 3+3=6)
sum+=sum1; // 2. 把当前项加到总和里
}
cout<<sum<<endl;
return 0;
}
全部评论 4
- 置顶
有帮助就点个赞吧
2026-04-17 来自 山西
1 第二个一眼AI
1周前 来自 江苏
2和第一个码风完全不符
1周前 来自 江苏
2
加油ヾ(◍°∇°◍)ノ゙
3天前 来自 上海
1窝感觉第二个不对
2026-04-17 来自 辽宁
1改正了,谢谢提醒。

2026-04-17 来自 山西
1不用谢,应该的
2026-04-18 来自 辽宁
0
2026-04-18 来自 辽宁
0





















有帮助,赞一个