Pagini recente » Cod sursa (job #2689021) | Cod sursa (job #2576936) | Cod sursa (job #340522) | Cod sursa (job #1433155) | Cod sursa (job #1771725)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int main()
{
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
int nr_tests;
cin >> nr_tests;
while (nr_tests--)
{
vector< pair<int, int> > sol;
int n;
cin >> n;
for (int i = 2; i <= n; i++)
{
if ((i * (i + 1) / 2) > n)
break;
if (i % 2 == 0)
{
if (n % i == 0)
continue;
if ((2 * n) % i == 0)
{
int left = (n / i) - (i / 2) + 1;
sol.push_back(make_pair(left, left + i - 1));
}
}
else
{
if (n % i == 0)
{
int left = (n / i) - (i / 2);
sol.push_back(make_pair(left, left + i - 1));
}
}
}
cout << sol.size() << '\n';
for (const auto &it: sol)
cout << it.first << ' ' << it.second << '\n';
}
return 0;
}