专栏文章
B2072 分苹果 题解
B2072题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqvjh61
- 此快照首次捕获于
- 2025/12/04 11:26 3 个月前
- 此快照最后确认于
- 2025/12/04 11:26 3 个月前
这是本人第1次写题解(大佬勿喷,有错请指出,还求管理大大能用!)
根据题目我们知道了苹果数每次要不同,所以要求的总数就等于1到第n人数量的累加,这时就有了CODE1,如下
CPP#include<bits/stdc++.h> //万能头文件
using namespace std;
int main(){ //主函数
int n,sum=0; //创立一个n的整数变量 sum为累加器
cin>>n; //输入n
for(int i=1;i<=n;i++){ //for的循环 ,从i开始一直循环到n
sum+=i; //累加器
}
cout<<sum; //输出结果sum
return 0; //完美结束撒花!
}
但是这题还可以优化,利用等差求和公式
即:(首相+末相)*相数/2
运用道题中就为:(1+n)*n/2,去括号得:n+n²/2,这时就有了公式般CODE2,如下
CPP#include<bits/stdc++.h> //万能头文件
using namespace std;
int main(){ //主函数
int n,sum=0; //创立一个n的整数变量 ,sum用来存数
cin>>n; //输入n
sum=(n+n*n)/2; //套公式,即等差数列求和公式
cout<<sum; //输出sum
return 0; //完美结束撒花!
}
最后希望管理员大大能过!!!
The end.
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...