Pagini recente » Cod sursa (job #279029) | Cod sursa (job #1443046) | Cod sursa (job #3293480) | Cod sursa (job #592279) | Cod sursa (job #1709148)
#include <stdio.h>
#include <unordered_map>
#include <vector>
#define LMax 65000
using namespace std;
vector<pair<int, int> > sol;
int Tes;
int N;
int main() {
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%d", &Tes);
while ( Tes -- ) {
sol.clear();
scanf("%d", &N);
long long NN = 2 * N;
for ( int n = 2; n * n <= NN; ++ n ) {
if ( NN % n == 0 ) {
int a1 = (2LL * N / n - n + 1) / 2;
int a2 = a1 + n - 1;
if ( a1 > 0 && a2 > 0 )
sol.push_back({a1, a2});
}
}
printf("%d\n", sol.size());
for ( int i = 0; i < sol.size(); ++ i )
printf("%d %d\n", sol[i].first, sol[i].second);
}
return 0;
}