Pagini recente » Cod sursa (job #3284756) | Cod sursa (job #1131422) | Cod sursa (job #1054822) | Cod sursa (job #307479) | Cod sursa (job #3292118)
#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; ++_){
int n;
cin>>n;
vector<pair<int, int>> sol;
for (int k=2; k<=n; ++k){
if (2*n%k==0){
//cout<<k<<": ";
if (2*n/k-k+1>0){
//cout<<k<<": ";
if ((2*n/k-k+1)%2==0){
//cout<<k<<"* ";
sol.push_back({(2*n/k-k+1)/2, (2*n/k-k+1)/2+k-1});
}
}
//cout<<"\n";
}
}
cout<<sol.size()<<"\n";
for (auto it:sol)cout<<it.first<<" "<<it.second<<"\n";
}
return 0;
}