Pagini recente » Cod sursa (job #757594) | Cod sursa (job #2080808) | Cod sursa (job #1387133) | Cod sursa (job #1193244) | Cod sursa (job #1715865)
#include <cstdio>
#include <vector>
#include <utility>
using namespace std;
long long T,N;
vector< pair<int,int> > Sol;
void solve()
{
Sol.clear();
long long step = 2;
long long sum = 3;
while (sum <= N)
{
if ((N - step * (step-1)/2) % step == 0) {
long long l = (N - step * (step-1) / 2)/ step;
Sol.push_back(make_pair(l,l+step-1));
}
step++;
sum += step;
}
printf("%d\n",Sol.size());
for (int i = 0; i < Sol.size(); i++)
printf("%d %d\n",Sol[i].first,Sol[i].second);
}
int main()
{
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%d",&T);
while (T--)
{
scanf("%lld",&N);
solve();
}
}