测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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 分)

答案解析

上一题 下一题