Pagini recente » Cod sursa (job #2374420) | Cod sursa (job #1344790) | Cod sursa (job #2191674) | Cod sursa (job #1663009) | Cod sursa (job #1709176)
#include <fstream>
#include <cmath>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
int n,m,i,j,t,e,sum,k;
vector< pair<int,int> > a;
bool CMP(pair<int,int> T1, pair<int,int> T2)
{
return T1.second - T1.first < T2.second - T2.first;
}
int main()
{
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
fin>>t;
for(e=1;e<=t;e++)
{
a.clear();
fin>>n;
for(i=65536;i>=1;i--)
{
sum = (i * (i + 1) / 2 - n) * 2;
k = (-1 + sqrt(1+4*sum))/2;
if((i*(i+1)/2 - k*(k+1)/2) == n)
{
if(i != k + 1)
{
a.push_back({k+1,i});
}
}
}
fout<<a.size()<<"\n";
for(i=0;i<a.size();++i)
{
fout<<a[i].first<<" "<<a[i].second<<"\n";
}
}
return 0;
}