#include #include void run(void){ int k; scanf("%d",&k); double *now=(double *)malloc(sizeof(double)*(k+1)); double *next=(double *)malloc(sizeof(double)*(k+1)); int i,j; for(i=0;i<=k;i++){ now[i]=0; } now[0]=1; double ans=0; for(i=1;i<=100000;i++){ for(j=0;j<=k;j++){ next[j]=0; } const double f=(double)1/6; for(j=0;jk)?0:(j+n)]+=f*now[j]; } } ans+=i*next[k]; next[k]=0; double *swap=now; now=next; next=swap; } printf("%lf\n",ans); return; } int main(void){ run(); return 0; }