登录
A075777号
具有体积n和整数边的矩形实体的最小表面积。
4
6, 10, 14, 16, 22, 22, 30, 24, 30, 34, 46, 32, 54, 46, 46, 40, 70, 42, 78, 48, 62, 70, 94, 52, 70, 82, 54, 64, 118, 62, 126, 64, 94, 106, 94, 66, 150, 118, 110, 76, 166, 82, 174, 96, 78, 142, 190, 80, 126, 90, 142, 112, 214, 90, 142, 100, 158, 178, 238, 94, 246, 190
抵消
1,1
评论
要找到最小表面积(不正确,请参见下文!),让s1_0=[n^(1/3)]。求最大整数s1,使s1<=s1_0和s1|n。然后设s2_0=[sqrt(n/s1)]。求最大整数s2,使s2<=s2_0和s2|(n/s1)。则s3=n/(s1*s2)。并且最小表面积a(n)=2*(s1*s2+s1*s3+s2*s3)。
上述算法不正确。考虑n=68:对于最小表面积178,算法返回(s1,s2,s3)=(4,1,17)。然而,(2,2,17)的表面积为144。考虑n=246:算法给出了(6,1,41),但(3,2,41)的表面积较低。该算法通过选择s1作为n的最高除数,似乎没有机会选择相等或近似相等的对(s1,s2)。我为一个新算法编写了一个Python脚本(发布在下面)。然而,它的速度要慢得多,因为它循环遍历n的每个除数s1和给定n/s1的除数s2,同时找到并保持最小表面积。(上限用于避免根上的浮点错误。)-斯科特·法拉2015年9月29日
例子
a(12)=32,因为2、2和3的边长将产生体积12和表面积32,这是最小表面积。
MAPLE公司
N: =1000:#以获得(1)。。a(否)
A: =矢量(N,1)*6*N;
对于从1到N的p1 do
对于p2,从p1到地板(N/p1)do
对于从p2到地板的p3(N/p1/p2)
n: =p1*p2*p3;
a: =2*(p1*p2+p2*p3+p1*p3);
如果a<a[n],则a[n]:=a fi
od od od日期:
seq(A[i],i=1..N)#罗伯特·伊斯雷尔2015年9月30日
黄体脂酮素
(PARI)a(n)={s1_0=楼层(n^(1/3));s1=s1_0;while(n%s1!=0,s1--);s2_0=楼层(sqrt(n/s1));nds1=n/s1;s2=s2_0;while(nds1%s2!=0,s2--);s3=n/(s1*s2);返回(2*(s1*s2+s1*s3+s2*s3));}\\米歇尔·马库斯2013年4月14日;基于目前已知的第一种算法的脚本,只给出n=67的ok项
(PARI)a(n)={mins=-1;fordiv(n,x,q=n/x;fordif(q,y,z=q/y;s=2*(x*y+y*z+x*z);if(mins==-1,mins=s,mins=min(mins,s)););mins;}\\米歇尔·马库斯2015年9月30日
(Python)
导入数学
定义立方体向下(n):
s1_0=int(数学.ceil(n**(1/3.0))
最小SA=-1
s1=s1_0
当s1>=1时:
当n%s1>0时:
s1=s1-1
s1quot=int(n/s1)
s2_0=int(math.ceil(math.sqrt(n/s1))
s2=s2_0
而s2>=1:
当s1quot%s2>0时:
s2=s2-1
s3=整数(n/(s1*s2))
SA=2*(s1*s2+s1*s3+s2*s3)
如果minSA==-1:
最小SA=SA
其他:
如果SA<minSA:
最小SA=SA
s2=s2-1
s1=s1-1
返回minSA
#斯科特·法拉2015年9月29日
交叉参考
关键词
容易的,非n
作者
Robert A.Stump(bee_ess107(AT)msn.com),2002年10月9日
状态
经核准的