Pagini recente » Cod sursa (job #3164457) | Cod sursa (job #2554824) | Cod sursa (job #2181516) | Cod sursa (job #542605) | Cod sursa (job #2647610)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("consecutive.in");
ofstream cout ("consecutive.out");
long long gauss(int n) {
return 1LL * n * (n + 1) / 2;
}
int main() {
int t;
cin >> t;
while (t --) {
int n;
cin >> n;
vector < pair <int, int> > sol;
int l = 2;
while (gauss(l) <= n) {
int rest = n - static_cast<int>(gauss(l));
if (rest % l == 0) {
sol.emplace_back(1 + rest/l, l + rest/l);
}
l += 1;
}
cout << sol.size() << '\n';
for (auto &x: sol) {
cout << x.first << ' ' << x.second << '\n';
}
}
return 0;
}