Pagini recente » Cod sursa (job #2162669) | Cod sursa (job #2401441) | Cod sursa (job #2964355) | Cod sursa (job #924439) | Cod sursa (job #1710284)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
#include <deque>
#include <algorithm>
#include <list>
using namespace std;
#define STDIN_FILE_OPEN(FileName) {freopen(FileName, "r", stdin);}
#define STDOUT_FILE_OPEN(FileName) {freopen(FileName, "w", stdout);}
typedef long long int int64;
int main()
{
STDIN_FILE_OPEN("consecutive.in");
STDOUT_FILE_OPEN("consecutive.out")
int t, tests;
scanf("%d", &tests);
for (t = 0; t < tests; t++)
{
int64 S;
int i;
list<pair<int64, int64>> arr;
scanf("%lld", &S);
for (i = 2; ; i++)
{
int64 top = 2 * S - i*i - i;
if (top < 0)
break;
int64 bot = 2 * i;
if (top % bot == 0)
{
int64 m = top / bot;
int64 n = m + i;
m++;
arr.push_back(pair<int64, int64>(m, n));
}
}
printf("%d\n", arr.size());
while (!arr.empty())
{
pair<int64, int64> p = arr.front();
arr.pop_front();
printf("%lld %lld\n", p.first, p.second);
}
}
return 0;
}