ทับทิม 58 ไบต์
นี่คือการดำเนินการตรงไปตรงมาของขั้นตอนวิธีในการปล่อยก๊าซฮีเลียมนิวเคลียสของคำตอบ C
g=->m,n{n>m ?g[n,m]:m*~m*n*~n/4+n*((2*m-n)*(4*n*n-1)-3)/6}
ฉันได้รับการตรวจสอบว่าทำไมสูตรนี้ใช้งานได้ด้วยความสำเร็จที่ จำกัด มันง่ายที่จะยืนยันว่าจำนวนของรูปสี่เหลี่ยมผืนผ้าตั้งตรงนั้นเท่ากับ(m+1)*m/2 * (n+1)*n/2
จำนวนของรูปสี่เหลี่ยมผืนผ้าในแนวทแยงนั้นดูเข้าใจยากขึ้นเล็กน้อย
นีลได้รับการยืนยันสำหรับm==n
ว่าจำนวนของรูปสี่เหลี่ยมเอียงในนั้นn*n
ตารางเป็น(4*n**4-n*n-3*n)/6
และเมื่อ m>n
คุณต้องการที่จะเพิ่มอีก(m-n)(n*(4*n*n-1)/3)
(ที่เกี่ยวข้องกับOEIS A000447 ) แต่นี้ไม่ได้อธิบายที่ทั้งสองสูตรมาจาก ฉันได้พบคำตอบบางส่วนแล้ว
สำหรับm==n
รูปร่างภายในตารางเป็นเพชรแอซเท็ก
จำนวนสี่เหลี่ยมในเพชรแอซเทคคือผลรวมของจำนวนสี่เหลี่ยมที่มีขนาดใหญ่ทับจะทำให้มัน (สำหรับเพชรสี่ซึ่งพบใน5x5
ตาราง2x8
, 4x6
, 6x4
และ8x2
) ลบจำนวนสี่เหลี่ยมนับสองครั้ง (จำนวน สี่เหลี่ยมในเพชร Aztec ก่อนหน้า )
สูตรที่นี่คือ (จะเพิ่ม TeX ในภายหลัง):
# superimposed rectangles, 2x(2n-2), 4*(2n-4), ...
f = lambda n: sum( (2*k)*(2*k+1)/2 * (2*n-2*k)*(2*n-2*k+1)/2 for k in range(1, n) )
aztec_rect = f(n) - f(n-1)
ตาม Wolfram Alpha รูปแบบปิดสำหรับf
คือ1/30*(n-1)*n*(4*n**3+14*n**2+19*n+9)
และรูปแบบปิดสำหรับaztec_rect
คือตามที่ Neil ค้นพบ, 1/6*n*(n-1)*(4*n**2+4*n+3) == 1/6*(4*n**4-n**2-3*n)
.
ฉันยังไม่ค้นพบว่าทำไม(m-n)(n*(4*n*n-1)/3)
ผลงาน แต่ผมสงสัยว่ามันเป็นเพราะความหมายของA000447binomial(2*n+1, 3)
คือ ฉันจะให้คุณโพสต์
ปรับปรุง:ฉันมีเหตุผลที่จะเชื่อว่าการทำงานของจำนวนสี่เหลี่ยมในเพชรแอซเท็กขยายm>n
ที่เกี่ยวข้องกับจำนวนทับสี่เหลี่ยมในลบเพชร2k*2(n-k)
F(m-1,n-1)
ผลลัพธ์เพิ่มเติมเมื่อฉันมีพวกเขา
อัปเดต:ฉันลองใช้เส้นทางที่แตกต่างและจบลงด้วยสูตรอื่นสำหรับเพชร Aztec แบบขยายซึ่งส่วนใหญ่สามารถอธิบายได้ แต่มีคำหนึ่งคำที่ฉันยังไม่เข้าใจ Huzzah! : D
def f(m,n):
if n > m:
return f(n,m)
if n == 0:
return 0
else:
return(m-n+1)*(4*n**4-n*n-3*n)/6-f(m-1,n-1)+(m-n)*2+(m-n)*(n-2)-(m-n-1)*f(n-1,n-1)
การแบ่งย่อยอย่างรวดเร็วของสูตรสุดท้าย:
(m-n+1)*(4*n**4-n*n-3*n)/6
คือจำนวนทับเพชรแอซเท็กของขนาดในโครงสร้างที่เป็นn
มีเพชร Aztec ซ้อนทับ 5 ขนาดในขณะที่มีเพียง 1 เพชรf(n,n) = (4*n**4-n*n-3*n)/6
f(7,3)
3
f(3,3)
-f(m-1,n-1)
ลบสี่เหลี่ยมที่ซ้ำกันบางส่วนออกจากตรงกลางของเพชรที่ซ้อนทับ
+(m-n)*2
บัญชีสำหรับ 2 พิเศษ - 2
by - (2n-1)
สี่เหลี่ยมสำหรับแต่ละเพชรพิเศษ
+(m-n)*(n-2)
บัญชีพิเศษn
-by- n
ตารางสำหรับแต่ละเพชรพิเศษ
-(m-n-1)*f(n-1,n-1)
นี่คือคำที่ทำให้งงใหม่ เห็นได้ชัดว่าฉันไม่ได้คิดเป็นกำลังสองบางส่วนในการนับของฉัน แต่ฉันไม่ได้คิดว่าพวกเขาอยู่ที่ไหนในเพชรขยาย
หมายเหตุ: เมื่อm==n
, m-n-1 = -1
หมายความว่าระยะนี้ล่าสุดเพิ่มช่องสี่เหลี่ยมที่จะนับ ฉันอาจคิดถึงบางอย่างในสูตรปกติของฉัน การเปิดเผยอย่างสมบูรณ์นี่เป็นเพียงความตั้งใจที่จะนำไปใช้กับร่างสูตรก่อนหน้านี้ที่เพิ่งเกิดขึ้นเมื่อทำงาน เห็นได้ชัดว่าฉันยังคงต้องขุดลงไปในสิ่งที่เกิดขึ้นและอาจเป็นไปได้ว่าสูตรของฉันมีข้อบกพร่องบางอย่างในนั้น ฉันจะให้คุณโพสต์
Russell, Gary และ Weisstein, Eric W. "Aztec Diamond" จาก MathWorld - ทรัพยากรเว็บ Wolfram http://mathworld.wolfram.com/AztecDiamond.html