1095: 堆积木
时间限制: 1 Sec 内存限制: 32 MB
提交: 41 解决: 16
[提交][状态][讨论版]
题目描述
小明的侄子要过生日了,小明买了一套儿童积木送他。这套积木由N个边长为1厘米的正方体小块组成,小明想把这些小块堆成一个大的矩形方体,然后将整个方体包裹上漂亮的包装纸,请问小明最少需要多少平方厘米的包装纸即可?
输入
输入的第一行为一个正整数C,表示测试样例的组数。
每组输入是一个正整数N(1<=N<=1000),表示积木块的个数。
输出
对于每组输入,输出将整个方体完全包裹上包装纸所需要的包装纸的最小面积。
样例输入
5 9 10 26 27 100
样例输出
30 34 82 54 130
python 暴力
def fun(x):
are = 10 ** 10
for i in range(1, x + 1):
for j in range(i, int(x / i) + 1):
if x % (i * j) == 0:
k = int(x / i / j)
s = 2 * i * j + 2 * i * k + 2 * j * k
if s < are:
are = s
print(int(are))
nums = int(input())
ans = []
for x in range(nums):
ans.append(int(input()))
for x in ans:
fun(x)