问题描述
小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。
他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。
小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?
思路分析及代码实现
思路:
撕纸可以分为四种情况:
偶数页 => 偶数页
偶数页 => 奇数页
奇数页 => 偶数页
奇数页 => 奇数页
def solve(m, n):
num = 0
if m % 2 == 0:
if n % 2 == 0:
num = (n - m) / 2 + 1
else:
num = (n - m + 1) / 2 + 1
elif m % 2 != 0:
if n % 2 == 0:
num = (n - m + 1) / 2 + 1
else:
num = (n - m) / 2 + 1
return num
print(solve(81, 92))
小明在X山洞找到一本2000多页的伪造武功秘籍,想只携带第81页到第92页。根据书的页码规律,偶数页和奇数页的相邻关系,计算出他至少需要撕下多少张纸。通过分析四种可能的撕纸情况,编写了一个Python函数`solve`来解决此问题,并得出答案。
575

被折叠的 条评论
为什么被折叠?



