龙珠激斗大冒险掷筛子算法

今天玩儿龙珠激斗的大冒险时掷筛子的时候想了想掷筛子的算法,自己写着玩儿。代码如下:

‘‘‘
    龙珠大冒险掷筛子介绍:
        在地图中掷筛子
        如果地图剩余格子数大于6则默认进行十连掷
        十连掷不能超过剩余格子数否则进行最大次数连掷
        如果地图剩余格子数小于等于6则进行单掷
        如果单次掷筛子结果大于剩余格子数则进入下一张地图
    输入:
        剩余格子数
    输出:
        掷筛子的结果
‘‘‘
import random

def throw_once():
    return random.randint(1,6)

def throw_times(n,cells):
    ret = []
    while n > 0:
        curr = throw_once()
        if curr <= cells:
            ret.append(curr)
            cells = cells-curr
            n -= 1
        else:
            return ret
    else:
        return ret

def throw_dices(cells):
    if cells > 6:
        _ret = throw_times(10,cells)
    else:
        _ret = throw_once()
    return _ret

if __name__ == ‘__main__‘:
    cells = 33
    print(throw_dices(cells))
时间: 2024-10-11 01:00:09

龙珠激斗大冒险掷筛子算法的相关文章

HDU 2512 一卡通大冒险(dp)

一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2137    Accepted Submission(s): 1430 Problem Description 因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部分都是单身.某天,他们在机房商量一个绝妙的计划"一卡通大冒险".这个

HDU 2512 一卡通大冒险

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2512 Problem Description 因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部分都是单身.某天,他们在机房商量一个绝妙的计划"一卡通大冒险".这个计划是由wf最先提出来的,计划的内容是,把自己的联系方式写在校园一卡通的背面,然后故意将自己的卡"遗失"在某处(如水房,TD,食堂,主M....)他们希望能有MM看到他们

杭电 2512 一卡通大冒险

一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s):     Accepted Submission(s): Problem Description 因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部分都是单身.某天,他们在机房商量一个绝妙的计划"一卡通大冒险".这个计划是由wf最先

中奖概率算法(php 可用于刮刮卡,大转盘等抽奖算法)

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 <?php /* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(100,200,300,400), * 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内, * 如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间, * 在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选的. * 这样 筛选到最终,总

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <!--?

HDU 4405 飞行棋求到终点时掷筛子的期望--期望dp

题意:飞行棋,掷筛子,但是如果当前的点有特技的话,可以不用掷筛子而是直接跳到一个指定点Yi,求从起点开始到终点时掷筛子的次数的期望. 分析: 期望dp模型,框架:dp[i]从当前状态i到达目标状态需要掷筛子的次数的期望,i能到达的状态要么是Yi(用了特技),要么是i+j(j为掷筛子得到的数字),所以状态方程:dp[i]=dp[Yi]或者dp[i+j]*1/6,记得最后要+1. 初始化:memset(dp,0,sizeof(dp)) 实现:从后往前推,但是是从最后一个的前一个,就是说不是从n,而是

数据结构实践——大数据集上排序算法性能的体验

本文是针对[数据结构基础系列(9):排序]的实践项目. [项目 - 大数据集上排序算法性能的体验] 设计一个函数,产生一个至少5万条记录的数据集合.在同一数据集上,用直接插入排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序等算法进行排序,记录所需要的时间,经过对比,得到对复杂度不同的各种算法在运行时间方面的感性认识. 提示1:这一项目需要整合多种排序算法,可以考虑先建设排序算法库,作为我们这门课算法库的收官之作: 提示2:本项目旨在获得对于复杂度不同算法的感性认识,由于数据分布

jquery掷筛子动画 整理

这段时间在做一个掷筛子抽奖的小游戏:下面将部分代码做了下整理: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>演示:jQuery掷色子动画</title> <style type="text/css"> .demo{width:760px; height:120px; margin:10px auto;} .w

斯坦福大学公开课机器学习:machine learning system design | data for machine learning(数据量很大时,学习算法表现比较好的原理)

下图为四种不同算法应用在不同大小数据量时的表现,可以看出,随着数据量的增大,算法的表现趋于接近.即不管多么糟糕的算法,数据量非常大的时候,算法表现也可以很好. 数据量很大时,学习算法表现比较好的原理: 使用比较大的训练集(意味着不可能过拟合),此时方差会比较低:此时,如果在逻辑回归或者线性回归模型中加入很多参数以及层数的话,则偏差会很低.综合起来,这会是一个很好的高性能的学习算法. 原文地址:https://www.cnblogs.com/chenwenyan/p/8326027.html