A39981. 一张长方形的纸,长m 米, 宽 n 米(长宽均为整数) , 现在要把它刚好裁成一些正方形(边长是整数), 有几种裁法, 如果要使裁得的正方形面积最大, 可以裁多少块。小明学习了递归后, 编写程序如下, 首先输入长方形的长和宽,计算出结果。 请完善划线处的代码:def tj(a,b): c = 0 minn = ① if a > b: minn = b for i in range(1,minn+…
填空题
困难
知识点
题目描述
一张长方形的纸,长m 米, 宽 n 米(长宽均为整数) , 现在要把它刚好裁成一些正方形(边长是整数), 有几种裁法, 如果要使裁得的正方形面积最大, 可以裁多少块。小明学习了递归后, 编写程序如下, 首先输入长方形的长和宽,
计算出结果。 请完善划线处的代码:
def tj(a,b):
c = 0
minn = ①
if a > b:
minn = b
for i in range(1,minn+1):
if a % i == 0 and b % i == 0:
c = ②
return c
def gcd(a,b):
if b == 0:
return a
return ③
chang = int(input('输入长方形的长 (单位 cm)'))
kuan = int(input('输入长方形的宽 (单位 cm)'))
bianchang = gcd(chang,kuan)
total = ④
num = tj(chang,kuan)
print('------------结果如下-------------')
print('有{}种裁法'.format(num))
print('裁得的正方形面积最大边长是{}cm, 可以裁{}块'.format(bianchang,total))
运行后的结果如下图所示:

参考答案
评分标准:
(1) a; (2 分)
(2) c + 1;(2 分)
(3) gcd(b,a%b); (3 分)
(4) (chang // bianchang) * (kuan // bianchang)或等价答案。 (3 分)答案解析
上一题
下一题