社区讨论
也可以用规律解决
P1147连续正整数和参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mks7bi1d
- 此快照首次捕获于
- 2026/01/24 19:03 4 周前
- 此快照最后确认于
- 2026/01/24 19:11 4 周前
CPP
//
// Created by wei on 2026/1/24.
//
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long ll;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int m;cin>>m;
for (int i=m/2+1;i>=2;i--) {//times
if (m%i==0) {
if (i%2==0)continue;
if (m/i-i/2>0)
cout<<m/i-i/2<<' '<<m/i+i/2<<endl;
}
else if (m%i==i/2&&i%2==0) {
if (m/i-i/2+1>0)
cout<<m/i-i/2+1<<' '<<m/i+i/2<<endl;
}
}
return 0;
}
发现到 ,
1.当k∈偶数时,如果m%k==k/2,那么
[m/k-k/2+1,m/k+k/2]这个范围的和一定符合题意
2.当k∈奇数时,如果m%k==0&&m/i-i/2>0(m/i-i/2是连加的第一个数,要大于0),那么
[m/i-i/2,m/i+i/2]这个范围也一定符合题意
其它情况continue即可
回复
共 4 条回复,欢迎继续交流。
正在加载回复...