Pagini recente » Cod sursa (job #1040542) | Cod sursa (job #2433226) | Cod sursa (job #2471456) | Cod sursa (job #2047386) | Cod sursa (job #1711850)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <stdio.h>
#include<stdlib.h>
using namespace std;
long long n,x,i,j,T;
vector<int> pozitii[2];
int main()
{
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
fin>>T;
for(i=1;i<=T;i++)
{
fin>>n;
for(j=2;(j*(j+1))/2 <= n;j++)
{
if(j%2==0 && n%j==j/2 && n/j-j/2>=0)
{
pozitii[0].push_back(n/j-j/2+1);
pozitii[1].push_back(n/j+j/2);
}
if(j%2==1 && n%j==0 && n/j-j/2>0)
{
pozitii[0].push_back(n/j-j/2);
pozitii[1].push_back(n/j+j/2);
}
}
x = pozitii[0].size();
fout<<x<<"\n";
for(j=0;j<x;j++)
fout<<pozitii[0][j]<<" "<<pozitii[1][j]<<"\n";
fout<<"\n";
pozitii[0].clear();
pozitii[1].clear();
}
return 0;
}