解题思路:
n为奇数时:两个对角分别用m和n-m两个方砖填充,对于剩下的两个一样的矩形区域填充,对m从(n+1)/2到n-1遍历
n为偶数时:用四个n/2的方砖即可
注意事项:
注意矩形区域的填充
参考代码:
# 矩形区域的填充
def ff(length, wide):
if length == wide:
return 1
if length % wide == 0:
return length // wide
number = 0
number += int(length/wide)
number += ff(wide, length % wide)
return number
# 遍历
def f(si):
num_min = 2 * si
for nn in range((si + 1)//2, si):
num = 2
num += 2*ff(nn, si-nn)
if num < num_min:
num_min = num
return num_min
results = []
n = int(input())
while True:
if n == 0:
break
n = n - 1
size = int(input())
if size % 2 == 0:
results.append(4)
else:
results.append(f(size))
for result in results:
print(result)
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1334 |
1157题解浏览:769 |
核桃的数量 (C语言代码)浏览:726 |
矩形面积交 (C++代码)浏览:1204 |
1051(奇了怪了)浏览:747 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:726 |
川哥的吩咐 (C语言代码)浏览:663 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:799 |