Pagini recente » Cod sursa (job #2511495) | Cod sursa (job #2215489) | Cod sursa (job #2367035) | Cod sursa (job #2004360) | Cod sursa (job #1708898)
#include <cstdio>
#include <vector>
using namespace std;
int nrt, n;
int main() {
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%d", &nrt);
while(nrt--) {
scanf("%d", &n);
vector < pair<int, int> > sol;
for(int lg = 2; 1LL * lg * (lg + 1) / 2 <= n; ++lg) {
if((2 * n - (lg - 1) * lg )% (2 * lg) == 0) {
int a = (2 * n - (lg - 1) * lg) / (2*lg);
sol.push_back(make_pair(a, a + lg - 1));
}
}
printf("%d\n", (int) sol.size());
for(auto x: sol)
printf("%d %d\n", x.first, x.second);
}
return 0;
}