取手机_概率期望_牛客网

链接:https://ac.nowcoder.com/acm/problem/15558
来源:牛客网

题目描述
durong有a台iphonex和b台s8,并且放在一个保险箱里,durong现在一台一台从保险箱随机拿出这些手机,现在他想知道第k次拿出s8的概率是多少
输入描述:
第一行一个正整数T,表示数据组数。(1<=T<=10000)
接下来T行输入a,b,k
其中(1<=a,b,k<=1e9) k<=a+b;
输出描述:
第k次拿出s8的概率,保留三位小数

示例1
输入

    1
    1 1 1

输出

	0.500

概率(中奖之类的,若前面的抽取是随机的话//也就是不影响后面中奖几率,第k次的概率期望依然是最开始中奖的概率//只是期望!!!
本体抽出s8的概率是b*1.0/a+b;注意int(要使用double/float),及输出格式。

看不懂的话

C1b*A(a+b-1)(a+b-1)/A(a+b)(a+b)=b *1.0/a+b

//C右边第一个是组合数的上面,第二个是下面。

#include<iostream>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>

#define ll  long long 
#define mod 1000000007
using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--){
	int a, b, k;
	cin >> a >> b >> k;
	printf("%.3f
", b * 1.0 / (a + b));

    }
	return 0;
}
原文地址:https://www.cnblogs.com/gidear/p/11773641.html