Cod sursa(job #1935014)

Utilizator vladm98Munteanu Vlad vladm98 Data 21 martie 2017 22:42:49
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;
vector <pair <int, int>> sol;
int main()
{
    ifstream fin ("consecutive.in");
    ofstream fout ("consecutive.out");
    int t;
    fin >> t;
    while (t--)
    {
        int cate = 0;
        sol.clear();
        long long n, a, copie;
        fin >> n;
        n<<=1;
        for (long long i = 2; i*i<=n; ++i)
        {
            copie = n;
            if (n%i)
                continue;
            copie/=i;
            copie = copie-i+1;
            if (copie%2==0)
            {
                copie/=2;
                ++cate;
                sol.push_back(make_pair(copie, copie+i-1));
            }
        }
        fout << cate << '\n';
        for (auto x:sol)
            fout << x.first << " " << x.second << '\n';
    }
    return 0;
}