题目:
题解:
思路:
首先加上365或366天,再加上12,将每个一号加上去。先将每一天都当作只跑1KM。然后再计算没一年内有多少个星期一。再将每个月的一号来判断是否为星期一,如果是的话就要减去1,因为第一步已经计算过一次一号跑2KMl了,第二步重复加了1KM。程序是算到了的12月31号,所以还要将后面的多跑的减去。
result = 0dict_run = [31,29,31,30,31,30,31,31,30,31,30,31]dict_ping = [31,28,31,30,31,30,31,31,30,31,30,31]for i in range(2000,):#闰年处理if (i % 4 ==0 and i % 100 != 0) or i % 400 == 0:result += 378for x in range(1,367):xingqi_yi = ((i-1)*365 + i // 4 - i // 100 + i // 400 + x) % 7if xingqi_yi == 1:result += 1day = 1for j in range(12):#计算每月一号是不是星期一xingqi = ((i-1)*365 + i // 4 - i // 100 + i // 400 + day) % 7day += dict_run[j]if xingqi == 1:result -= 1#平年处理else:result += 377for x in range(1, 366):xingqi_yi = ((i - 1) * 365 + i // 4 - i // 100 + i // 400 + x) % 7if xingqi_yi == 1:result += 1day = 1for j in range(12):# 计算每月一号是不是星期一xingqi = ((i - 1) * 365 + i // 4 - i // 100 + i // 400 + day) % 7day += dict_ping[j]if xingqi == 1:result -= 1print(result-106)
[蓝桥杯Python]:跑步训练----小蓝每天都锻炼身体。正常情况下 小蓝每天跑1千米。如果某天是周一或者月初(1日) 为了激励自己 小蓝要跑2千米。如果同时是周一-或月初 小蓝也是跑2千米。小蓝