小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。
小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下图给出了一种裁法。
在上面的例子中,小蓝的打印机没办法打印到边缘,所以边缘至少要裁 4 次。另外,小蓝每次只能裁一张纸,不能重叠或者拼起来裁。
如果小蓝要用一张纸打印出 20 行 22 列共 440 个二维码,他至少需要裁多少次?
解题思路
方法一:
这个题没有那么多弯弯绕绕,只需要你找出其中的规律就能做出
先看行:原题中一共两行剪了1刀;如果是三行那么就需要剪2刀
再看列:原题剪完行的刀之后,一张纸就变成了两份,一次只能剪一张;所以需要剪(行数*(列数-1))
def all_num(m,n):
a=4+(m-1)+m*(n-1)
return a
print(all_num(20,22))
补:python函数的定义及调用
函数需要将计算的结果返回调用处,在此类函数中一般包含一条return语句:
def repeator(s, n):
result = s * n
return result
print(repeator('55', 3))
## 555555