Pagini recente » Cod sursa (job #1582267) | Cod sursa (job #1181579) | Cod sursa (job #448907) | Cod sursa (job #1681451) | Cod sursa (job #1784329)
#include<stdio.h>
#include<math.h>
using namespace std;
FILE *f1=fopen("consecutive.in","r");
FILE *f2=fopen("consecutive.out","w");
int t,n,val,i,k,nr;
float a;
int main(){
fscanf(f1,"%d",&t);
for (i=1;i<=t;i++){
fscanf(f1,"%d",&n);
val=(-1+sqrt(1+8*n))/2+1;
nr=0;
for (k=2;k<=val;k++){
a=(float)(2*n+k-k*k)/(float)(2*k);
if (a==(int)a && a>0) nr++;
}
fprintf(f2,"%d\n",nr);
for (k=2;k<=val;k++){
a=(float)(2*n+k-k*k)/(float)(2*k);
if (a==(int)a && a>0) fprintf(f2,"%d %d\n",(int)a,(int)a+k-1);
}
}
fclose(f1);
fclose(f2);
return 0;
}