题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

今年的植树节(2012 年 3 月 12 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”

“把我出生的年月日连起来拼成一个 8 位数(月、日不足两位前补 0)正好可以被今天的年、月、日整除!”

他想了想,又补充到:“再给个提示,我是 6 月出生的。”

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

格式是年月日连成的 8 位数。例如,如果是 1948年 6 月 12 日,就写:19480612。

参考代码:

num = y = m = d = 0
for y in range(1900, 2012): # 叔叔出生的年份至少要在1900年以后吧,要不就太大了
for d in range(1, 31): # 六月是30天
num = y * 10000 + 6 * 100 + d # 要将其变为八位数
if num % 2012 == 0 and num % 3 == 0 and num % 12 == 0: # 分别被年,月,日整除,要同时满足
print(num)

点击并拖拽以移动

解题思路:

由题可知叔叔的生日可以被今天的年,月,日分别整除,首先要猜一下叔叔的年龄范围,尽量要猜的大点;我最开始猜是三四十,但范围写的小了运行不出来,就直接拉到最大即一百岁以内,这次运行出来了叔叔六十多岁!!!

所以年份的范围为(1900,2012),由题目可知叔叔是六月的,而六月是30天,所以范围为(1,31)。