Cod sursa(job #2381067)

Utilizator NOSCOPEPROKENDYMACHEAMACUMVREAU NOSCOPEPROKENDY Data 15 martie 2019 22:35:38
Problema Consecutive Scor 100
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.86 kb
#include <fstream>

#include <vector>

#define nmax 100002

using namespace std;

ifstream fin("consecutive.in");

ofstream fout("consecutive.out");



struct duet{

    long long a,b;

};





vector <duet> v;

long long x,y;



bool pot(long long n,long long k)

{

    if(n%(k+1)==0&&(n/(k+1)-k)%2==0)

    {

        x=(n/(k+1)-k)/2;

        y=x+k;

        return 1;

    }

    return 0;

}



int main()

{

    long long n;

    int t;

    fin>>t;

    for(int i=1;i<=t;i++)

    {

        fin>>n;

        v.clear();

        for(long long j=1;j*j<=2*n;j++)

            if(pot(2*n,j)&&x)

                v.push_back({x,y});

        int c=v.size()-1;

        fout<<c+1<<"\n";

        for(int j=0;j<=c;j++)

            fout<<v[j].a<<" "<<v[j].b<<"\n";

    }

    return 0;

}