解题思路:
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语言代码)浏览:597 |
大神老白 (C语言代码)浏览:640 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1162 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
愚蠢的摄影师 (C++代码)浏览:934 |
1054题解浏览:460 |
局部变量作函数返回值的问题浏览:963 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:463 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:442 |