-
第一部分:趣味算法入门;第二题:借书方案
100个不同类型的python语言趣味编程题
在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力。
第一部分:趣味算法入门;第二题
'''
2.借书方案:5本新书,借给A、B、C3人,每人每次只能借一本,则有多少种借法
'''
#解题方法示例如下;
import time #导入time模块,以用来计算程序运行的时间,可忽视
time.perf_counter() #与time模块中计算时间有关,可忽视
#主体代码块如下:
n=0 #定义初始借书方法为n
for A in range(1,6):
for B in range(1,6):
if A!=B:
for C in range(1,6):
if A!=C and B!=C:
n+=1
print(n)
print(time.perf_counter()) #打印出程序运行的时间,可忽视
#解本问题有多种方法,我只写了一种方法,读者可以自己尝试各种方法,再用time模块计算每种方法的运行时间。
补充:
问题分析: 本题属于数学当中常见的排列组合问题,即求从5个数中取3个不同数的排列组合的总数。 我们可以将 5 本书进行 1~ 5 的编号, A、 B、 C 3 个人每次都可以从5本书中任选l 本, 即每人都有5种选择, 由于1本书不可能同时借给一个以上的人, 因此只要这3个人所选书的编号不同, 即为一次有效的借阅方法。
算法设计:对千每个人所选书号,我们可以采用穷举循环来实现,即从每个人可选书号(1、2、
3、4、5)的范围内进行穷举,从而得到可行的结果。对第每个人的选择,我们可以用循环将其列出。
由于一本书只能借一个人,所以第2个人的选择会受到第1个人的限制,最后一个人的选择会受到第2个人的限制,即后面的选择都是在前面选择的前提下进行的,所以可采用循环的嵌套来解决问题。利用循环解决问题的时候,找到循环的三要素:循环变量的初值、循环的控制条件,以及使循环趋于结束的循环变量值的改变是进行编程的关键。
如果你喜欢我的文章,请滑到下方点个推荐再走. 以给我动力哦;转载请注名出处。然后..请多来做客鸭。
注:100个不同类型的python语言趣味编程题是参考100个不同类型的c语言趣味编程题而写,陆续会更新。欢迎大家分享出你们的方案。
最新更新
利用C#输出图形
利用C#计算所有整数之和
利用C#进行加密
元旦快到了,想好去哪玩了吗?Python分析
Python练习题
关于数据抓取很多新人的误区
数据分析 Pandas 简介和它的的数据结构
1319联通网络的操作次数
python字符串前加r、f、u、l 的区别
Python爬虫入门教程01:豆瓣Top电影爬取
用 Access+Outlook 来采集信息
使用PowerDesigner生成Access数据库
让我们一起用开源数据库和开源框架废弃
随说秋色园从Access升迁到MSSQL过程
当爬虫被拒绝时(Access Denied)
Web API与OAuth:既生access token,何生refres
[认证 & 授权] 6. Permission Based Access Co
Access之C#连接Access
oracle 19c下载和安装教程(database和client)
MySql索引原理与使用大全
php的计数器每次都会清零
PHP基础
数据类型之对象
数据类型之布尔型、整型、浮点型和字符
php教程之数据类型之数组
php教程之PHP 常量
php教程之变量
php教程之语法
PHP简介与安装
phpMyAdmin配置安装全攻略