https://www.luogu.org/problem/P1147
#include<bits/stdc++.h> using namespace std; int main(){ int n,sum; cin>>n; for(int i=1;i<=n/2;i++){ //m可能为奇数 for(int j=i+1;j<=n/2+1;j++){ sum=(i+j)*(j-i+1)/2; if(sum==n) cout<<i<<" "<<j<<endl; if(sum>n) break; //没有这一句会超时 } } return 0; }