Pagini recente » Cod sursa (job #1671068) | Cod sursa (job #3130594) | Cod sursa (job #2878673) | Cod sursa (job #3290630) | Cod sursa (job #1717873)
#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++){
while(rasp[k].lg!=0){
fprintf(fout,"%lld ",rasp[k].val);
rasp[k].val++;
rasp[k].lg--;
}
fprintf(fout,"\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}