Pagini recente » Cod sursa (job #266709) | Cod sursa (job #2167088) | Cod sursa (job #2961600) | Cod sursa (job #1374721) | Cod sursa (job #2555173)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("consecutive.in");
ofstream g("consecutive.out");
pair <int,int> f[100001];
int main()
{
int t,cont=0;
fin>>t;
for(int i=1; i<=t; ++i)
{
int n;
fin>>n;
for(int nr=2; nr*nr <= 2*n; ++nr)
{
int rec=(n-(1LL*nr*(nr-1))/2)/nr;
if(rec>0 && (2LL*rec+nr-1)*nr/2==n)
{
++cont;
f[cont].first=rec;
f[cont].second=rec+nr-1;
}
}
g<<cont<<"\n";
for(int i=1; i<=cont; ++i)
g<<f[i].first<<" "<<f[i].second<<'\n';
}
return 0;
}