Pagini recente » Cod sursa (job #1835117) | Cod sursa (job #908631) | Cod sursa (job #1292370) | Cod sursa (job #232761) | Cod sursa (job #2054121)
#include <stdio.h>
#include <math.h>
int main(void){
unsigned int n,t,i,a,nr;
double k,rad;
int v1[100000],v2[100000];
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%u", &t);
for(i=0; i<t; i++){
scanf("%u", &n);
//printf("%u",n);
nr=0;
rad=2*(sqrt(1/16+n/2)-1/4);
//printf("%Lf",rad);
for(a=2; a<=(int)rad ;a++){
k=n/a - (a-1)/2;
//printf("%f",k);
//if((double)(int)k==k){
if((2*n-a*(a-1))%(2*a)==0){
v1[nr]=(int) k;
v2[nr]=(int) k+a-1;
nr++;
}
}
printf("%u\n",nr);
for(a=0; a<nr; a++){
printf("%d %d\n",v1[a], v2[a]);
}
}
return 0;
}