#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 100
#define R 1.5
#define P 0.8
double logBP(double p, int n, int m)
{
if (m==0) return n*log(1-p);
if (m==n) return n*log(p);
double r=0.0;
int i;
int mm=m;
if(n-m < m) mm=n-m;
for(i=0;i<m;i++)
r += log(n*1.0-i) - log(1.0+i);
r+= m*log(p);
r+= (n-m)*log(1-p);
return r;
}
int neven(double c, double n)
{
double nn= -n*log(1-c) /log ((1-c+R*c)/(1-c));
if(nn<0.9)return 0;
return (int)nn;
}
double gain(double c)
{
double c0 = 1+c*(P*R-1);
return pow(c0, N);
}
int main(int argc, char **argv)
{
int div=100;
int i;
for(i=1;i<div;i++)
{
double c= i*1.0/div;
double gg= gain(c);
int n0 = neven(c, N);
double s0=0.0;
int j;
for(j=0;j<=n0;j++)
s0 += exp( logBP(P, N, j));
printf("%e %e %e\n",c, gg, s0);
}
}