Pagini recente » Cod sursa (job #1423230) | Cod sursa (job #60723) | Cod sursa (job #1394610) | Cod sursa (job #2984456) | Cod sursa (job #3292149)
#include <bits/stdc++.h>
using namespace std;
int main(){
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
/// (2*a+k-1)*k/2=n
/// iterez prin k si dupa caut sa vad a
int t;
cin>>t;
for (int _=0; _<t; ++_){
int64_t n;
cin>>n;
vector<pair<int, int>> sol;
for (int64_t k=2; k*(k-1)<=2*n; ++k){
if((2*n-k*(k-1))%(2*k)==0 && (2*n-k*(k-1))/(2*k)>0){
sol.push_back({(2*n-k*(k-1))/(2*k), -1+k+(2*n-k*(k-1))/(2*k)});
}
}
cout<<sol.size()<<"\n";
for (auto it:sol)cout<<it.first<<" "<<it.second<<"\n";
}
return 0;
}