文章目錄
- 題目
- 程式代碼
題目
| 試題編號: | 201509-2 |
| 試題名稱: | 日期計算 |
| 時間限制: | 1.0s |
| 記憶體限制: | 256.0MB |
問題描述
給定一個年份y和一個整數d,問這一年的第d天是幾月幾日?
注意閏年的2月有29天,滿足下面條件之一的是閏年:
1) 年份是4的整數倍,而且不是100的整數倍;
2) 年份是400的整數倍,
輸入格式
輸入的第一行包含一個整數y,表示年份,年份在1900到2015之間(包含1900和2015),
輸入的第二行包含一個整數d,d在1至365之間,
輸出格式
輸出兩行,每行一個整數,分別表示答案的月份和日期,
樣例輸入
2015
80
樣例輸出
3
21
樣例輸入
2000
40
樣例輸出
2
9
程式代碼
# 輸入年份和天數
year = int(input())
n = int(input())
# 閏年標記
flag = False
# 判斷是否為閏年
if (year%4 == 0 and year%100 != 0) or year%400 == 0:
flag = True
# 每月天數串列(除去二月且下標索引從 1 開始)
daysInYear = [0,31,0,31,30,31,30,31,31,30,31,30,31]
# 考慮二月天數加入串列
if flag:
daysInYear[2] = 29
else:
daysInYear[2] = 28
# 初始化月份
month = 1
# 回圈遍歷月份
while True:
# 當剩余天數大于本月天數(可以到達下月)
if n - daysInYear[month] > 0:
n -= daysInYear[month]
month += 1
# 當剩余天數就在本月中
else:
day = n
break
# 輸出月份和日期
print(month)
print(day)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/259741.html
標籤:python
上一篇:力扣刷題筆記:765.情侶牽手(暴力解法,速度超93.97%的提交,空間超62%的提交,大年初三的困難題,就這。。。)
