操作方法:
输入两个数字,第一个数字是备选总数,第二个数字是选择总数,然后返回中将概率。
可以投注多次,结束的时候返回总的中将概率。
#include <iostream>
using namespace std;
long double probability(unsigned numbers, unsigned picks);
int main() {
double total, choices, totalProbability=1, v_probability;
cout << "Enter the total number of choices on the game card and\n"
"the number of picks allowed:\n";
while ((cin >> total >> choices) && choices <= total) {
v_probability = probability(total, choices);
cout << "Your chance " << v_probability << " of winning.\n";
totalProbability *= v_probability;
cout << "Next two numbers (q to quit): ";
}
cout << "Your total chance " << totalProbability << " of winning.\n";
cout << "bye\n";
return 0;
}
long double probability(unsigned numbers, unsigned picks) {
long double result = 1.0;
long double n;
unsigned p;
for (n = numbers, p = picks; p > 0; n--, p--)
result = result * n / p;
return result;
}