Pagini recente » Cod sursa (job #1076901) | Cod sursa (job #2156134) | Cod sursa (job #2303518) | Cod sursa (job #597783) | Cod sursa (job #2176975)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in ("consecutive.in");
ofstream out ("consecutive.out");
int n;
int m;
vector <pair<int, int> > f;
void Read()
{
in>>m;
}
void Solve()
{
in>>n;
int S=0;
for(int s=1;s<n;s++)
{
S+=s;
int k=(n-S)/(s+1);
if((s+1)*k+S==n&&k>=1)
{
f.push_back(make_pair(k,k+s));
}
}
}
void Afisare()
{
out<<f.size()<<'\n';
for(int i=0;i<f.size();i++)
{
out<<f[i].first<<' '<<f[i].second<<'\n';
}
}
int main()
{
Read();
for(int i=0;i<m;i++)
{
Solve();
Afisare();
}
return 0;
}