Pagini recente » Cod sursa (job #2489392) | Cod sursa (job #1411415) | Cod sursa (job #1699703) | Cod sursa (job #1193957) | Cod sursa (job #1709384)
#include<iostream>
#include<fstream>
#include<vector>
#include<math.h>
using namespace std;
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
long long T, N;
int sol_low[100000];
int sol_high[100000];
long long num_sol;
int sol_found = 0;
int main()
{
fin >> T;
for (long long t = 0; t < T; t++) {
fin >> N;
num_sol = 0;
for (long long i = 1; i < N/2 + 1; i++) {
if (sol_found) {
sol_found = 0;
continue;
}
long long c = 2 * N + i * i - i;
long long aux = 1 + 4 * c;
long long s = sqrt(aux);
if (s * s == aux) {
if ((-1 + s) % 2 != 0)
continue;
long long b = (-1 + s) / 2;
//if (b > i && b <= N/2 + 1) {
sol_high[num_sol] = b;
sol_low[num_sol] = i;
num_sol++;
sol_found = 1;
//}
}
}
fout << num_sol << '\n';
for (long long i = 0; i < num_sol; i++) {
fout << sol_low[i] << " " << sol_high[i] << '\n';
}
}
}