This is my source:

[c]#include<stdio.h>

#include<stdlib.h>

#include<math.h>

main()

{

int n,i,j,result[50],temp[50],size,sizet,s;

double t,max;

scanf("%d",&n);

s=0;

t=0;

max=0;

for(j=2;j<(n+1)/2;j++)

{

for(i=j;s+i<=n;i++)

{

s+=i;

t+=log10(i);

temp[i-2]=i;

}

i-=3;

sizet=i+1;

while(s<n)

{

t-=log10(temp

*);*

temp

temp

*++;*

s++;

t+=log10(temps++;

t+=log10(temp

*);*

i--;

if(i<0)i+=sizet;

}

if(t>max)

{

max=t;

size=sizet;

for(i=0;i<size;i++)

resulti--;

if(i<0)i+=sizet;

}

if(t>max)

{

max=t;

size=sizet;

for(i=0;i<size;i++)

result

*=temp**;*

}

}

printf("%d",result[0]);

for(i=1;i<size;i++)

printf(" %d",result}

}

printf("%d",result[0]);

for(i=1;i<size;i++)

printf(" %d",result

*);*

printf("\n");

exit(0);

}

[/c]printf("\n");

exit(0);

}

[/c]