本帖最后由 shigure_takimi 于 2018-1-4 19:47 编辑
- for year in range(1000, 10000):
- for month in range(1, 13):
- for date in range(1, 32):
- if year*month*date == 319907:
- print(year,'-',month,'-',date)
复制代码
- def isRunnian(year):
- return year%400==0 or (year%4==0 and year%100 !=0)
- days1 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
- days2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
- for year in range(1000, 10000):
- days = days1 if isRunnian(year) else days2
- for month in range(1, 13):
- for date in range(1, days[month-1]+1):
- if year*month*date == 319907:
- print(year,'-',month,'-',date)
- # 1987 - 7 - 23
- # 总共也9000*12*31(近似)的数,对计算机来说不算个事,直接暴力破解就好了。
复制代码 |