蓝桥杯--世纪末的星期

简介: 蓝桥杯--世纪末的星期

题目描述


曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会…

有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日…1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?

请回答该年份(只写这个4位整数,不要写12月31等多余信息)


判断平年(common year)和闰年(leap year)的计算方法很简答:


如果年份是整百年份,用年份除以400,没有余数即为闰年,有余数即为平年。

如果年份不是整百年份,用年份除以4,没有余数即为闰年,有余数即为平年。

25366+75365 # 36525天 25个闰年,75个平年

24366+76365) # 36524天 25个闰年,76个平年


num = 5
for i in range(1,1000):
    if (i+19)%4 == 0:   # 判断百年是否是闰年
        num+= 6      # 36525%7
    else:
        num += 5     # 36524%7
    num = num%7   # 取余数,
    if num == 0:
        print(i)
        break


答案:2299

目录
打赏
0
0
0
0
6
分享
相关文章
|
6月前
蓝桥杯真题time模块详解 | 顺子日期 星期一
蓝桥杯真题time模块详解 | 顺子日期 星期一
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
|
10月前
|
C语言——oj刷题——获取月份天数
C语言——oj刷题——获取月份天数
98 0
|
11月前
|
第十四届蓝桥杯集训——Date与Calendar函数
第十四届蓝桥杯集训——Date与Calendar函数
76 0
《剑指offer》题解——week1
思路:定义一个哈希表,遍历一次数组,利用哈希表对每个元素进行标记。若当前元素被标记过了,则该元素重复。 **时间复杂度:**`O(n)` **方法二:原地交换** 主要思想是把每个数放到对应的位置上,即让 `nums[i] = i`。 前往后遍历数组中的所有数,假设当前遍历到的数是 `nums[i]=x`,那么: - 如果`x != i && nums[x] == x`,则说明 `x`出现了多次,直接返回 `x`即可; - 如果`nums[x] != x`,那我们就把 `x` 交换
139 0
《剑指offer》题解——week1
《剑指offer》题解——week2
由于需要对结果进行取余,导致`不能使用动态规划`,因为取模导致了dp的运算出现了问题。dp是通过最优子问题来计算出最终结果的,而取模之后就导致计算最优子问题出现了问题,计算出来的`dp[i-j]*j`表面上可能是最大的,但是`dp[i-j]`也是经过取模运算的,从而这会导致`dp[i]`不是由前面的最优子问题推出来的。
112 0
《剑指offer》题解——week2
《剑指offer》题解——week3
《剑指offer》题解——week3
108 0
《剑指offer》题解——week3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等