ILoveEven

 avatar
unknown
python
3 years ago
740 B
5
Indexable
# Step 1. 觀察執行結果:有好幾個狀況會「少算一個」
m,n=map(int,input().split())
M=m+2#去除0變因
N=n+2

# Step 2. 暴力思考四種可能,並舉例分析錯誤原因?
'''
M奇N奇 e.g. (7-3)//2+1-1 = 2 (正確)
M偶N奇 e.g. (7-4)//2+1-0 = 2 (正確)
M奇N偶 e.g. (8-3)//2+1-1 = 2 (錯誤,應為3)
M偶N偶 e.g. (8-4)//2+1-0 = 3 (正確)

發現一奇一偶的時候,若大數為偶、小數為奇,
兩者之間偶數個數會少算到1個。
因此,套(N-M)//2會有問題。
'''
# x=(N-M)//2+1-n%2
# Step 3. 思考修正方法。
'''
e.g. 把M、N分開來看。
(M之前有多少偶數) - (N之前有多少偶數)
最後讓較小的數,決定要不要多1
'''

x = N//2 - M//2 + (M%2 == 0)
print(x)
Editor is loading...