1. 程式人生 > >51Nod 1138 連續整數的和(數學)

51Nod 1138 連續整數的和(數學)

#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; }