• 123.甲乙混战 (15分)


    C时间限制:3000 毫秒 |  C内存限制:3000 Kb
    题目内容:
     某游戏规则中,甲乙双方每个回合的战斗总是有一方胜利,一方失败。
    游戏规定:失败的一方要把自己的体力值的1/4加给胜利的一方。例如:
    如果双方体力值当前都是4,则经过一轮战斗后,双方的体力值会变为:5,3。
    现在已知:双方开始时的体力值甲:1000,乙:2000。
    假设战斗中,甲乙获胜的概率都是50%求解:双方经过4个回合的战斗,
    体力值之差小于1000的理论概率。
    输入描述
    此题直接编译出结果就可,不需要输入数据

    输出描述
    输出4个回合的战斗后体力值之差小于1000的理论概率,保留6位小数

    输入样例
    此题直接编译出结果就可,不需要输入数据

    输出样例
    0.000000

    #include<iostream>
    #include<stdio.h>
    #include<math.h>
    using namespace std;
    double pass = 0,sum = 0;
    void fun(double a,double b,int cnt){
        if(cnt==4){
            if(fabs(a-b)<1000){
                pass++;
            }
            sum++;
            return ;
        }
        fun(a*0.75,b+a*0.25,cnt+1);
        fun(a+b*0.25,b*0.75,cnt+1);
         
    }
    int main(){
        fun(1000,2000,0);
        printf("%.6f
    ",pass/sum);                      
        return 0;
    }
  • 相关阅读:
    model.object对象查询过滤、增删改、Q
    模板中的标签、过滤器
    模板(template)包含与继承
    url用法
    AD用户登录验证,遍历OU(LDAP)
    Python下操作sqlite3
    多线程应用-类(thread)
    数组(list)分组、分段
    多线程应用-函数方式(thread)
    IntelliJ IDEA maven项目 ***
  • 原文地址:https://www.cnblogs.com/lusiqi/p/11853778.html
Copyright © 2020-2023  润新知