c++ 计算彩票中奖概率

 

 

操作方法:

输入两个数字,第一个数字是备选总数,第二个数字是选择总数,然后返回中将概率。

可以投注多次,结束的时候返回总的中将概率。

#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;
}

  

posted @ 2018-09-28 19:39  ranwuer  阅读(1145)  评论(0编辑  收藏  举报