Pagini recente » Cod sursa (job #1869867) | Cod sursa (job #2131470) | Cod sursa (job #476001) | Cod sursa (job #2811317) | Cod sursa (job #1717875)
#include <stdio.h>
struct elem{long long val,lg;};
elem rasp[500005];
int main(){
FILE *fin,*fout;
fin=fopen("consecutive.in","r");
fout=fopen("consecutive.out","w");
long long i,l,n,k,s,t,m,p;
fscanf(fin,"%lld",&t);
for(i=1;i<=t;i++){
fscanf(fin,"%lld",&s);
k=0;
m=s<<1;
for(l=2;l*(l-1)<=m&&l<s;l++){
p=l*(l-1)/2;
if(s>p&&(s-p)%l==0){
k++;
rasp[k].val=(s-p)/l;
rasp[k].lg=l;
}
}
n=k;
fprintf(fout,"%lld\n",n);
for(k=1;k<=n;k++)
fprintf(fout,"%lld %lld\n",rasp[k].val,rasp[k].val+rasp[k].lg-1);
}
fclose(fin);
fclose(fout);
return 0;
}