Pagini recente » Cod sursa (job #143550) | Cod sursa (job #3159006) | Cod sursa (job #2904518) | Cod sursa (job #1736405) | Cod sursa (job #1736477)
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int T,nr;
LL N;
inline LL Sum(int i,int j){
return (j-i+1)*i+((j-i)*(j-i+1))/2;
}
struct el{
int x,y;
LL lg;
}a[12005];
inline bool cmp(const el&A,const el&B){
return A.lg < B.lg;
}
int main(){
ifstream f("consecutive.in");
ofstream g("consecutive.out");
int i;
LL p;
f >> T;
while(T--){
f >> N; nr = 0;
//N*=2;
for(i = 1; i*i <= N; ++i)
if((N/i)*i == N){
// p = i;
// a[++nr].x = (((N*2-p*p)/p)+1)/2;
// a[nr].y = (((p*p+N*2)/p)-1)/2;
// a[nr].lg = a[nr].y-a[nr].x+1;
// if(Sum(a[nr].x,a[nr].y) != N || a[nr].lg <= 1)--nr;
}
sort(a+1,a+nr+1,cmp);
g << nr << '\n';
for(i = 1; i <= nr; ++i)
g << a[i].x <<' '<<a[i].y << '\n';
}
f.close();
g.close();
return 0;
}