网站开发 竞拍网站,门户网站域名,wordpress开放平台,中文响应式网站模板给定台阶总数和两种单次可跳级数#xff0c;编写自定义函数#xff0c;计算所有的游戏组合方案数量。 (笔记模板由python脚本于2023年11月19日 19:18:48创建#xff0c;本篇笔记适合熟悉python自定义函数编写#xff0c;了解排列组合知识的coder翻阅) 【学习的细节是欢悦的…给定台阶总数和两种单次可跳级数编写自定义函数计算所有的游戏组合方案数量。 (笔记模板由python脚本于2023年11月19日 19:18:48创建本篇笔记适合熟悉python自定义函数编写了解排列组合知识的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网https://www.python.org/ Free大咖免费“圣经”教程《 python 完全自学教程》不仅仅是基础那么简单…… 地址https://lqpybook.readthedocs.io/ 自学并不是什么神秘的东西一个人一辈子自学的时间总是比在学校学习的时间长没有老师的时候总是比有老师的时候多。 —— 华罗庚 My CSDN主页、My HOT博、My Python 学习个人备忘录好文力荐、 老齐教室 给定台阶总数和两种单次可跳级数 跳 台 阶 游 戏 (编写自定义函数计算所有的游戏组合方案数量) 本文质量分 【 96 】 本文地址
https://blog.csdn.net/m0_57158496/article/details/134495251 CSDN质量分查询入口http://www.csdn.net/qc 目 录 ◆ 跳台阶游戏1、题目描述2、算法解析2.1 for嵌套2.2 遍历优化2.3 求a、b中较少者在a、b总数量中的组合数 3、完整源码 ◆ 跳台阶游戏 1、题目描述 题目描述截屏图片 题目描述大图 【题目来源于 CSDN 问答社区提问“Jump Level Game”】 回页目录 2、算法解析 我的解法很笨就是穷举所有a、b组合到levels n的方案最后输出总方案数量。(这初期的想法不切实际啊) 琢磨到今天中午(2023-11-19 13:27终于完成代码调试)终于“完美”解开了跳台阶游戏“谜题” 代码运行效果截屏图片 题目样例输出 回页目录 2.1 for嵌套 用两层for来遍历a、b的所有组合打印每一种a、b组合的可能方案数函数返回累加的最后结果。 python代码 def jumps(n, a, b): # 计算所有不同游戏组合函数。a1, b1 not n%a, not n%b # a、b整除于n的bool型变量count 2 if a1 and b1 else 1 if a1 or b1 else 0 # 单独用a、b完成游戏组合数。for i in range(1, n//a 1):for j in range(1, n//b 1):m i jif a*i b*j n and j:less min((i, j))count2 comCount(ij, less)count count2return count 回页目录 2.2 遍历优化 组合方案中a、b的数量有“b的数量 a、b总量 - a的数量”的关系。所以可以用这个关系去除嵌套的内层for提升代码效率。 python代码 def jumps(n, a, b): # 计算所有不同游戏组合函数。#print(f\nn, a, b {n}, {a}, {b}\n\n计算过程)a1, b1 not n%a, not n%bcount 2 if a1 and b1 else 1 if a1 or b1 else 0 # 单独用a、b完成游戏的方。k 1for i in range(1, n//a 1):j (n - a*i)//bm i jif a*i b*j n and j:less min((i, j))count2 comCount(ij, less)#print(f\n{k}、{a}×{i} {b}×{j} {n}\n{:3}{ij}个位置中取{less}个有{count2}种组合)k 1count count2return count 回页目录 2.3 求a、b中较少者在a、b总数量中的组合数 求a、b中较少者在a、b总数量中的组合数。为什么是求a、b中数量小者总数量因为在一定范围内取值组合数量是一次取值数量越小越多。数量大者组合少且与较小数量组合重复所以只取大的就好。 如4, 1, 2 12 21 4 从3个位置中取1个有三种可以是任何一个位置取2有也三种要么1、3要么2、3要么1、2。a的位置变化会引起b的变化所以只计算较小者组合数量。 不同组合单行匿名函数 comCount lambda n,m: len(list(combinations([0]*n, m))) # 求不同组合单行匿名函数。
求a、b中较少者在a、b总数量中的组合数
for i in range(1, n//a 1):j (n - a*i)//bm i jif a*i b*j n and j:less min((i, j))count2 comCount(ij, less) 回页目录 3、完整源码
(源码较长点此跳过源码)
#!/sur/bin/nve python
# coding: utf-8
from itertools import combinationscomCount lambda n,m: len(list(combinations([0]*n, m))) # 求不同组合单行匿名函数。def jumps(n, a, b): # 计算所有不同游戏组合函数。#print(f\nn, a, b {n}, {a}, {b}\n\n计算过程)a1, b1 not n%a, not n%bcount 2 if a1 and b1 else 1 if a1 or b1 else 0 # 单独用a、b完成游戏的方。k 1for i in range(1, n//a 1):j (n - a*i)//bm i jif a*i b*j n and j:less min((i, j))count2 comCount(ij, less)#print(f\n{k}、{a}×{i} {b}×{j} {n}\n{:3}{ij}个位置中取{less}个有{count2}种组合)k 1count count2return countif __name__ __main__:print(jumps(4, 1, 2))print(jumps(8, 2, 3))print(jumps(11, 6, 7))print(jumps(30, 3, 5))print(jumps(100, 4, 5))#n, a, b, result 4, 1, 2, 5#n, a, b, result 8, 2, 3, 4#n, a, b, result 11, 6, 7, 0#n, a, b, result 30, 3, 5, 58#n, a, b, result 100, 4, 5, 1167937#print(f\n预期输出{result}\n实际输出{jumps(n, a, b)}) 回页首 上一篇 类属性修改(为什么python类不具备被赋值能力用魔术方法收集实参在类中可以定义方法处理实际参数实现对类“赋值”) 下一篇 我的HOT博 本次共计收集 246 篇博文笔记信息总阅读量 40.46w平均阅读量 1644。已生成 16 篇阅读量不小于 4000 的博文笔记索引链接。数据采集于 2023-10-12 05:41:03 完成用时 4 分 41.10 秒。 ChatGPT国内镜像站初体验聊天、Python代码生成等( 59262 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/129035387点赞126 踩 0 收藏798 打赏0 评论71本篇博文笔记于 2023-02-14 23:46:33 首发最晚于 2023-07-03 05:50:55 修改。让QQ群昵称色变的神奇代码( 58086 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122566500点赞24 踩 0 收藏83 打赏0 评论17本篇博文笔记于 2022-01-18 19:15:08 首发最晚于 2022-01-20 07:56:47 修改。pandas 数据类型之 DataFrame( 9173 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/124525814点赞6 踩 0 收藏31 打赏0 评论0本篇博文笔记于 2022-05-01 13:20:17 首发最晚于 2022-05-08 08:46:13 修改。个人信息提取(字符串)( 7215 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/124244618点赞1 踩 0 收藏13 打赏0 评论0本篇博文笔记于 2022-04-18 11:07:12 首发最晚于 2022-04-20 13:17:54 修改。Python列表(list)反序(降序)的7种实现方式( 7161 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/128271700点赞5 踩 0 收藏22 打赏0 评论8本篇博文笔记于 2022-12-11 23:54:15 首发最晚于 2023-03-20 18:13:55 修改。罗马数字转换器|罗马数字生成器( 7035 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122592047点赞0 踩 0 收藏1 打赏0 评论0本篇博文笔记于 2022-01-19 23:26:42 首发最晚于 2022-01-21 18:37:46 修改。Python字符串居中显示( 6966 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122163023点赞1 踩 0 收藏7 打赏0 评论1本篇博文笔记斐波那契数列的递归实现和for实现( 5523 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122355295点赞4 踩 0 收藏2 打赏0 评论8本篇博文笔记python清屏( 5108 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/120762101点赞0 踩 0 收藏8 打赏0 评论0本篇博文笔记练习字符串统计(坑f‘string‘报错)( 5103 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/121723096点赞0 踩 0 收藏1 打赏0 评论0本篇博文笔记回车符、换行符和回车换行符( 5093 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/123109488点赞1 踩 0 收藏2 打赏0 评论0本篇博文笔记于 2022-02-24 13:10:02 首发最晚于 2022-02-25 20:07:40 修改。练习尼姆游戏(聪明版/傻瓜式•人机对战)( 4943 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/121645399点赞14 踩 0 收藏42 打赏0 评论0本篇博文笔记密码强度检测器( 4323 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/121739694点赞1 踩 0 收藏4 打赏0 评论0本篇博文笔记于 2021-12-06 09:08:25 首发最晚于 2022-11-27 09:39:39 修改。练习生成100个随机正整数( 4274 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122558220点赞1 踩 0 收藏6 打赏0 评论0本篇博文笔记于 2022-01-18 13:31:36 首发最晚于 2022-01-20 07:58:12 修改。我的 Python.color() (Python 色彩打印控制)( 4159 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/123194259点赞2 踩 0 收藏8 打赏0 评论0本篇博文笔记于 2022-02-28 22:46:21 首发最晚于 2022-03-03 10:30:03 修改。罗马数字转换器(用罗马数字构造元素的值取模实现)( 4149 阅读)博文地址https://blog.csdn.net/m0_57158496/article/details/122608526点赞0 踩 0 收藏0 打赏0 评论0本篇博文笔记于 2022-01-20 19:38:12 首发最晚于 2022-01-21 18:32:02 修改。 推荐条件 阅读量突破四千 (更多热博请点击蓝色文字跳转翻阅) 回页首 精品文章
好文力荐齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书还有PDF版本百度网盘永久分享点击跳转免费下载。)OPP三大特性封装中的property通过内置对象理解python正则表达式python中“*”的作用Python 完全自学手册海象运算符Python中的 !与is not不同学习编程的正确方法
来源老齐教室 ◆ Python 入门指南【Python 3.6.3】 好文力荐
全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”“英语”和“会提问”是编程学习的两大利器。【8大编程语言的适用领域】先别着急选语言学编程先看它们能干嘛靠谱程序员的好习惯大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归 CSDN实用技巧博文
8个好用到爆的Python实用技巧python忽略警告Python代码编写规范Python的docstring规范说明文档的规范写法