// Program to calculate Poisson distribution probabilities

#include <stdio.h>
#include <math.h>

int main(int argc, char **argv) 
{
	int i,j;			// Loop variables 
	int fact;			// Used to calculate factorial
	double mu= 3.0;		// Mean value for Poisson distribution
	double prob;		// Probability of given value
	double sum= 0;		// Sum of probabilities from 0
	double expect= 0;	// Approximation of expectation value
	for (i= 0; i < 10; i++) {
		fact= 1;
		for (j= 2; j <= i; j++) {
			fact= fact*j;
		}
		prob= exp(-mu) * pow(mu,i)/ fact;
		sum+= prob;
		expect+= prob *i;
		printf ("Prob (%d) = %f   F(%d) = %f    E(%d) = %f\n",
			i, prob, i, sum, i, expect);
	}
	return 0;
}

