立方体で覆われた最小床面積または床上の最小立方体[閉じた]

Aug 17 2020

3つの側面だけがすべて垂直に接触している物置があります(2つの無限に大きな壁と1つの無限に大きな床)があります $N$単位体積の立方体。倉庫にキューブを保管するには、2つのルールがあります-

  1. 床のどこにでも置けます
  2. キューブ $A$ キューブに配置できます $B$ の4辺すべてに立方体がある場合のみ $B$ 側面がすでに壁で塞がれていない限り。

保管するためにカバーされる最小床面積を見つける $N$ キューブ。

例:

  • もし $N=3$:最小床面積 $= 3$
  • もし $N=4$:最小床面積 $= 3$、(4番目の立方体は2つの側面から壁に接するコーナーの1つに配置でき、他の側面には2つの立方体を配置できます)

回答

1 ParasSain Aug 18 2020 at 08:10
import numpy as np
N = int(input())
n = int(np.real(np.roots([1,3,2,-6*N])[2]))
c = int(np.ceil(np.roots([1,1,-2*(N-int((n*(n+1)*(n+2))/6))])[1]))
print(int((n*(n+1))/2)+c)

Pythonのこのコードは、一定の時間で答えを出します。