H. 硬币的水问题II

简介:

H. 硬币水题II

Time Limit: 1000ms
Case Time Limit: 1000ms
Memory Limit: 65536KB
64-bit integer IO format:  %lld      Java class name:  Main
Font Size:   

小胖有一个正反面不正确称的硬币。假设抛一次这个硬币。它的正面朝上的概率为p,反面朝上的概率为1-p。如今。小胖想用这个硬币来产生等概率的决策(50%对50%)。当然,仅仅抛一次是不行的。

小胖的策略是这种:每一次决策。须要抛硬币两次,假设都是正面朝上或者都是反面朝上,那么就又一次再做一次决策;假设是一正一反,那么假设第一次是正面朝上,就说抛了正面,假设第一次是反面朝上,那么就视为抛了反面。

这样,就能得到一个公平的决策了。

如今问题是。给定一个p,小胖平均要抛多少次,才干得到一个决策呢(即不用再抛了)?

Input

第一行包括一个整数N(N<=100),表示測试数据的个数。

接下来包含N行,每行一个測试数据。包含一个3位的浮点数p(0<p<1)。

Output

对每个測试数据。输出一行,包含一个浮点数,表示小胖抛硬币的平均次数。

结果保留两位小数。

Sample Input

3
0.500
0.800
0.300

Sample Output

4.00
6.25
4.76
 
 
#include<stdio.h>
int main()
{
    double ex,p;
    int n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%lf",&p);
        ex=1.0/p+1.0/(1-p);
        printf("%.2lf\n",ex);
    }
}


版权声明:本文博客原创文章,博客,未经同意,不得转载。









本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4748591.html,如需转载请自行联系原作者


相关文章
10_最后一块石头的重量
10_最后一块石头的重量
|
4月前
1037 在霍格沃茨找零钱
1037 在霍格沃茨找零钱
|
算法 Java Python
深入理解动态规划算法 | 凑硬币
深入理解动态规划算法 | 凑硬币
118 0
|
算法 Java
动态规划算法-凑硬币
动态规划算法-凑硬币
110 0
|
算法 C++
【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
125 0
|
机器学习/深度学习 Java
AcWing——砝码称重
AcWing——砝码称重
83 0
|
算法
贪心算法——小船过河
贪心算法——小船过河
367 0
贪心算法——小船过河
|
算法 C语言
假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。
(2)当n为奇数时,将前后两部分,即1…n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第 (n+1)/2枚硬币是假币。n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。:因为30位偶数,所以至少要被分一次,然后成为奇数之后,那个假币就是奇数的中位数,所以只需要2次。若输入的硬币数为30,则最少的比较次数为(2),最多的比价次数为(4)。
497 0