Python模拟暴击概率40%时的攻击操作

一、概率增量

这部分内容在前面讲解过,这里直接上代码

# _*_ coding: utf-8 _*_
# @Author : ******
# @Time   : 2022/8/24 9:48
# @File   : PseudoRandomDistribution.py
# @Project: TestCase
import math


class PRD:

    def __init__(self):
        # 环境
        self.env = None
        # 精度
        self.precision = 0.0000000000001

    def log_out(self, content):
        if "DEBUG" == self.env:
            print(content)

    def sum_arithmetic_sequence(self, N):
        """
        等差数列前N项求和
        :param N:第N项
        :return:和
        """
        res = 0
        for i in range(N + 1):
            res += i
        return res

    def get_avgp_by_c(self, c):
        """
        通过c求得Nmax次操作中的平均概率
        :param c:概率增量
        :return:平均概率
        """
        # 初始化变量
        p_sum_pre_success = 0
        p_sum = 0
        # 计算c值对应的最大操作次数
        Nmax = math.ceil(1 / c)
        self.log_out(f"--当前[ c: {c}, Nmax: {Nmax} ]")
        for i in range(1, Nmax + 1):
       
配装选择 间限制:1000ms 内存限制:128MB 阿北给自己的游戏角色选择了一套主堆暴击暴击伤害的装备套装,但是看着加成改装件不同的数值,阿北需要你帮他选择一个能使预期伤害最高的改装件。 基础伤害为 10000,预期伤害为 基础伤害*暴击率*(100%+暴击伤害加成)+基础伤害*(100%-暴击率)*100%。其中暴击率的有效上限为 100%,x%=1.0×x÷100。 装备套装穿上后阿北的暴击率为 x%暴击伤害加成为 y%。阿北有 n 件属性合适的改装件,这些改装件分别能增加 a%暴击率和 b%暴击伤害。 一般暴击率超出 100% 后就没有作用了,但阿北的装备套装效果能够使超出 100% 暴击率的部分转化为 300%暴击伤害加成。阿北需要你帮他选出一件能够使预期伤害最高的改装件,他想知道最高的预期伤害是多少。 输入格式 第一行输出三个正整数 n,x,y,表示有 n 件可选改装件,当前暴击率为 x%,当前暴击伤害加成为 y%。 接下来的 n 行,每行输入两个正整数 a i ​ 和 b i ​ ,分别表示当前改装件能够增加 a i ​ %暴击率和 b i ​ % 暴击伤害。 输出格式 输出一个正整数,表示最高的预期伤害。 样例组 输入#1 复制 1 80 150 40 277 输出#1 复制 58700 输入#2 复制 1 65 5 87 183 输出#2 复制 44400 提示说明 数据范围: 1≤n≤10 5 0≤x,a i ​ ≤100 0≤y,b i ​ ≤300c++三级方法不要注释
最新发布
08-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值