Pagini recente » Cod sursa (job #2760573) | Cod sursa (job #2060030) | Cod sursa (job #2041792) | Cod sursa (job #408564) | Cod sursa (job #1713367)
#include <bits/stdc++.h>
#define ll long long
#define Nmax 200004
using namespace std;
int t;
ll n, p, k, sol;
struct Sol
{
ll x;
ll y;
} v[Nmax];
void read()
{
scanf("%lld", &n);
}
void solve()
{
ll i;
for(i = 2; i * (i + 1) <= 2 * n; ++ i)
if((n - ((i - 1) * i / 2)) % i == 0)
{
v[++ sol].x = (n - ((i - 1) * i / 2)) / i;
v[sol].y = i;
}
}
void write()
{
int i;
printf("%d\n", sol);
for (i = 1; i <= sol ; ++i)
printf("%lld %lld\n", v[i].x, v[i].x + v[i].y - 1);
sol = 0;
}
int main()
{
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%d", &t);
while (t --)
{
read();
solve();
write();
}
return 0;
}