Hello Everyone,
This program is designed to tell you the probability of winning the Lotto. I am having problem with using the recursive factorial function inside of the function computeWays. I am getting just the numbers of picks for the chance of winning. For example if I enter in 12 for how many numbers to pick I will get 12 for the winning chance of the lottery instead of 792. For the probability I am only getting a 0 when it is suppose to be 0.0013. How do I get the factorial to work??? And How do I get the probability to display more than zero.????
#include <iostream>
using namespace std;
int factorial(int num)
{
if(num<=1)
return 1;
else
return num*factorial(num-1);
}
int computeWay(int n, int k)
{
int x = n-k;
if(n>=k)
return n;
else if(n<k)
return factorial(n)/(factorial(k) * factorial(x));
}
int main()
{
int a;
int b;
cout<<"Enter a number from 1-12"<<endl;
cin>>a;
cout<<"Enter a number from 1-"<<a<<endl;
cin>>b;
int numOfWays=computeWay(a,b);
int prob=1.0/numOfWays;
cout<<"Your chance of winning is 1 out of"<<numOfWays<<endl;
cout<<"This is a probability "<<prob<<endl;
return 0;
}