Pagini recente » Cod sursa (job #1603867) | Monitorul de evaluare | Cod sursa (job #1306321) | Cod sursa (job #2019581) | Cod sursa (job #1710418)
#include <stdio.h>
#include <stdlib.h>
long long q[100000][2], ind;
int main(){
long long t, i, n, k;
FILE*fi,*fo;
fi=fopen("consecutive.in","r");
fo=fopen("consecutive.out","w");
fscanf(fi,"%lld", &t);
for(i=0;i<t;i++){
fscanf(fi,"%lld", &n);
n*=2;
ind=0;
k=2;
while(k*k<=n){
if(n%k==0){
//printf("%d ", n/k-(k+1));
if((n/k-(k+1))%2==0){
q[ind][0]=(n/k-(k+1))/2+1;
q[ind][1]=q[ind][0]+k-1;
ind++;
}
}
k++;
}
fprintf(fo,"%lld\n", ind);
for(int j=0;j<ind;j++){
fprintf(fo,"%lld %lld\n", q[j][0], q[j][1]);
}
}
fclose(fi);
fclose(fo);
return 0;
}