Pagini recente » Cod sursa (job #3209571) | Cod sursa (job #1966835) | Cod sursa (job #1383712) | Cod sursa (job #2713320) | Cod sursa (job #1709215)
#include <fstream>
#include <cmath>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
long long n,m,i,j,t,e,sum,k;
vector< pair<long, long> > a;
int main()
{
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
fin>>t;
for(e=1;e<=t;e++)
{
a.clear();
fin>>n;
for(i=n/2 + 1;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;
}