本文最后更新于751 天前,其中的信息可能已经过时,如有错误请发送邮件到zzy1173071230@gmail.com
某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的以后的某一天中是打鱼还是晒网。(以2020年8月1日为例)
python实现
def judgement_leap(year):
# 判断是否为闰年
return year % 4 == 0
# 三天打鱼两天晒网
# work or play
# 开始的年a
# 开始的月b
# 开始的日c
# 结束的年x
# 结束的月y
# 结束的日z
def wop(a, b, c, x, y, z):
days_count = 0
# 计算两个年份之间的天数
for year in range(a, x):
days_count += 366 if judgement_leap(year) else 365
# 计算月份之间的天数,从开始月份 b 开始
month_days = [31, 29 if judgement_leap(x) else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days_count += sum(month_days[month] for month in range(b - 1))
# 加上目标日期的天数
days_count += c - 1
# 判断是打鱼还是晒网
remainder = days_count % 5
# 三天打鱼两天晒网,则余数为0、1、2时打鱼,否则晒网
result = "打鱼" if remainder in (0, 1, 2) else "晒网"
return result
# 示例:根据任意开始日期和结束日期判断是打鱼还是晒网
# 进行赋值
a, b, c = 1990, 1, 1
x, y, z = 1990, 1, 1
result = wop(a, b, c, x, y, z)
print(f"在 {x}年{y}月{z}日 这一天,应该进行:{result}")
c++实现
//没写
解题思路:判断是不是闰年,注意每个月时间不一样
对一组数进行简单排序(冒泡排序)
list = [4, 1, 78, 25, 52, 13, 90, 67, 90, 123]
python实现
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
list = [4, 1, 78, 25, 52, 13, 90, 67, 90, 123]
bubble_sort(list)
print("排序后的list", list)
c++实现
//没写
解题思路: 死记硬背,经典排序法
一辆卡车发生交通事故后逃跑,现场有三个目击者,但都没有记住车牌号,只记下车号的一些特征,甲说:卡车牌照的前两位数字相同;乙说:开车牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位车号刚好是一个整数的平方。请根据以上线索求出肇事卡车车号。
python实现
for a in range(10):
for c in range(10):
if a != c:
k = a * 1100 + c * 11
m = int(k**0.5)
if m * m == k:
print('车牌号为%d' % k)
c++实现
// 以后有机会再补充
解题思路:额额需要优化再说
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
python实现
# 。。
c++实现
// 。。
解题思路:斐波那契数列
