解题思路:
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语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:546 |
蛇行矩阵 (C语言代码)浏览:536 |
C语言训练-自由落体问题 (C语言代码)浏览:617 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:531 |
淘淘的名单 (C语言代码)浏览:1228 |
整除的尾数 (C语言代码)浏览:814 |
母牛的故事 (C语言代码)浏览:479 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:481 |
剔除相关数 (C语言代码)浏览:1092 |
1415题求解浏览:607 |