51Nod 1138 連續整數的和(數學)
阿新 • • 發佈:2018-12-10
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
int n,x;
bool flag=false;
int main(){
ios::sync_with_stdio(false);
cin>>x;
//int t=(sqrt(1+8*x)-1)/2+100;
int t=(sqrt(2*x));
for(int n=t;n>=2;n--){
if((2 *x-(n-1)*n)%(2*n)==0 &&n*n+n<=2*x){
flag=true;
cout<<(2*x-(n-1)*n)/(2*n)<<endl;
}
}
if(!flag){
cout<<"No Solution"<<endl;
}
return 0;
}