长方形裁最大正方形与裁法统计
题目说明
一张长方形的纸,长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))
评分标准
-
a(2分) -
c + 1(2分) -
gcd(b,a%b)(3分) -
(chang // bianchang) * (kuan // bianchang)(3分)
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析