解题思路:
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.9 (C语言代码)浏览:1722 |
点我有惊喜!你懂得!浏览:2214 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:3395 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:591 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:624 |
大神老白 (C语言代码)浏览:645 |
WU-判定字符位置 (C++代码)浏览:1406 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:633 |
蚂蚁感冒 (C语言代码)浏览:774 |
C二级辅导-计负均正 (C语言代码)浏览:482 |