蓝桥杯--世纪末的星期

题目描述
曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会…
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日…1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)

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

  1. 如果年份是整百年份,用年份除以400,没有余数即为闰年,有余数即为平年。
  2. 如果年份不是整百年份,用年份除以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

猜你喜欢

转载自blog.csdn.net/qq_52007481/article/details/123807400