Pagini recente » Monitorul de evaluare | Cod sursa (job #3359534) | Monitorul de evaluare | Cod sursa (job #2096342) | Cod sursa (job #3359299)
#include <bits/stdc++.h>
using namespace std;
#define N 100000
int st[N+1], dr[N+1];
int main()
{
ifstream cin ("consecutive.in");
ofstream cout ("consecutive.out");
int t,n,i,nr,a,p;
cin >> t;
while (t--){
cin >> n;
nr=n*2-2;
p=0;
i=1;
while (nr>0){
a=(i+1)<<1;
if (nr%a==0){
st[p]=nr/a;
dr[p++]=nr/a+i;
}
i++;
nr=n*2-i-i*i;
}
cout << p << '\n';
for (i=0; i<p; i++)
cout << st[i] << ' ' << dr[i] << '\n';
}
return 0;
}