Pagini recente » Cod sursa (job #597161) | Cod sursa (job #1794812) | Cod sursa (job #456956) | Cod sursa (job #147366) | Cod sursa (job #1708905)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
#define NMAX (1<<30)
vector <pair <int, int > > sol;
int main ()
{
int t,n,m,a,i;
ifstream f("consecutive.in");
ofstream g("consecutive.out");
f >> t;
while(t--) {
f>>n;
for(i = 2; 1LL * i * (i - 1)/2 <= n; i++) {
m = n - i * (i - 1)/2;
if(m <= 0)
break;
if(m % i == 0) {
a = m / i;
sol.push_back(make_pair(a, a + i - 1));
}
}
g << sol.size() << '\n';
for(vector <pair <int, int > > :: iterator it = sol.begin();it!=sol.end();it++)
g<<it->first<<" "<<it->second<<'\n';
sol.clear();
}
return 0;
}