专栏文章
B3876 [信息与未来 2015] 中间值 题解
B3876题解参与者 3已保存评论 3
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @miq91hvm
- 此快照首次捕获于
- 2025/12/04 00:56 3 个月前
- 此快照最后确认于
- 2025/12/04 00:56 3 个月前
看到这一题,首先想到的就是用一个数组吧?不过仔细一想,好像不需要。为什么呢?因为 ,你不管想输出哪一个数字,你直接输出就行了。因为 ,所以输出 就是输出 。
那就好办了,只需找最中间的数字不就好了?
我们来举一个例子来推理。
1 2 3 4 5
不难发现,最中间的数字是三,在观察他的位置,会发现他在 这里,也就是 。正好等于三,那么我们不仅把开头说到的证明了,而且知道了 中间是 。
然后我们处理下一个问题,如果 为偶数,中间的两个数是什么呢?依旧是举例子。
1 2 3 4
我们会发现,中间两个数是 2 和 3。2 是 ,3 是 。那么我们就知道了中间那个数是几,最后加起来就好了。
看,我们通过举例子成功推断出来了这道题。所以以后做题也可以通过举例子来做。
CPP#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
cin>>n;
if(n%2!=0){
cout<<(n+1)/2<<endl;
}else if(n%2==0){
cout<<n/2+n/2+1<<endl;
}
return 0;
}
相关推荐
评论
共 3 条评论,欢迎与作者交流。
正在加载评论...