Python 递归算法解决长方形裁剪问题
def tj(a,b): c = 0 minn = min(a,b) if a > b: minn = b for i in range(1,minn+1): if a % i == 0 and b % i == 0: c = i return c
def gcd(a,b):
if b == 0:
return a
return gcd(b,a%b)
chang = int(input('输入长方形的长 (单位cm)'))
kuan = int(input('输入长方形的宽 (单位cm)'))
bianchang = gcd(chang,kuan)
total = (chang//bianchang) * (kuan//bianchang)
num = tj(chang,kuan)
print('------------结果如下-------------')
print('有{}种裁法'.format(num))
print('裁得的正方形面积最大边长是{}cm,可以裁{}块'.format(bianchang,total))
原文地址: https://www.cveoy.top/t/topic/lH5S 著作权归作者所有。请勿转载和采集!