![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
apkjdk
45274245
展开
-
用python实现n个人围圈,报到m的人退出,最终留下几号的功能.
实现一个功能无非就是合适的数据结构+算法. 要实现这个需求,首先想到的简单算法就是用一个flag来表示每个人报到的数,如果flag==m则报到此数的人退出.若剩余总人数等于一个时,则算法结束,此时这个人的号码就是要求出的数. 此时若要表示一个人的状态,需要两个值:①此人的号码. ②此人是否已经被淘汰. 很自然的想到用数组这个数据结构来实现–数组下标表示号码,数组内容表示是否被淘汰. 但python没有数组这种结构,但是有列表,经过搜索,python的列表是保证顺序的,也就是通过下标索引到的元素的内容不会变原创 2020-06-30 23:48:16 · 732 阅读 · 0 评论 -
python实现计算某年某月某天 是某年的第几天.
将某年的所有过去的月份加起来,再加上本月过去的天数,即为已经过去的天数.(注意闰年二月29天,平年二月28天) 闰年分为普通闰年(年份是4的整数倍,但不为100的整数倍) 和 世纪闰年(年份是400的整数倍) 代码实现: year=int(input("year:")) month=int(input("month:")) day=int(input("day:")) sum=0 #天数 day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31原创 2020-06-30 00:05:17 · 1057 阅读 · 1 评论