Pagini recente » Cod sursa (job #1279929) | Cod sursa (job #2930737) | Cod sursa (job #1574236) | Cod sursa (job #2971656) | Cod sursa (job #1736480)
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int T,nr;
LL N;
bool viz[1000002];
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 == 0){
viz[i] = true;
}
// N/=2;
// for(i = 1; i <= 1e6; ++i){
// if(!viz[i])continue;
// 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;
}