রুবি, 58 বাইট
এটি হেলিয়াম নিউক্লির সি উত্তর প্রকাশের ক্ষেত্রে অ্যালগরিদমের একটি সরল বাস্তবায়ন ।
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
, গ্রিডের অভ্যন্তরের আকারটি একটি অ্যাজটেক হীরা ।
একটি অ্যাজটেক হীরা মধ্যে আয়তক্ষেত্র সংখ্যা বৃহৎ আয়তক্ষেত্র সংখ্যা এর সমষ্টি এটা (চতুর্থ হীরা, যা একটি পাওয়া যায় জন্য করতে superimposed হয় 5x5
গ্রিড, 2x8
, 4x6
, 6x4
, এবং 8x2
বিয়োগ আয়তক্ষেত্র সংখ্যা) দুইবার গণনা (সংখ্যা পূর্ববর্তী আয়তক্ষেত্র অ্যাজটেক হীরার )।
সূত্রটি এখানে (পরে যুক্ত করার জন্য টেক্স):
# 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)
উল্ফর্যাম আলফা, জন্য বদ্ধ ফর্ম অনুযায়ী f
হয় 1/30*(n-1)*n*(4*n**3+14*n**2+19*n+9)
এবং জন্য বদ্ধ ফর্ম aztec_rect
, কারণ নিল আবিষ্কৃত 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)
কাজ, যদিও আমি সন্দেহ তার কারণ হল, এক সংজ্ঞা A000447 হয় binomial(2*n+1, 3)
। আমি তোমাকে পদে রাখবো.
আপডেট: আমার বিশ্বাস করার যুক্তি আছে যে একটি বর্ধিত অ্যাজটেক ডায়মন্ডের আয়তক্ষেত্রের সংখ্যার কার্যকারিতা হীরা m>n
বিয়োগের উচ্চমানের 2k*2(n-k)
আয়তক্ষেত্রের সংখ্যার সাথে সম্পর্কিতF(m-1,n-1)
। আমার কাছে এগুলি থাকলে আরও ফলাফল
আপডেট: আমি একটি পৃথক রুট চেষ্টা করেছি এবং প্রসারিত অ্যাজটেক হীরার জন্য অন্য একটি সূত্র দিয়ে শেষ করেছি যা বেশিরভাগই ব্যাখ্যাযোগ্য তবে এর একটি শব্দ রয়েছে যা আমি এখনও বুঝতে পারি না। Huzzah! : ডি
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
কাঠামোর আকারের সুপারপোজড অ্যাজটেক হীরার সংখ্যা f(n,n) = (4*n**4-n*n-3*n)/6
। f(7,3)
5 সুপারম্পোজড অ্যাজটেক হীরার আকার রয়েছে 3
, যখন f(3,3)
রয়েছে মাত্র 1 টি হীরা।
-f(m-1,n-1)
সুপারিপোজড হীরার মাঝামাঝি থেকে কয়েকটি সদৃশ আয়তক্ষেত্র সরান।
+(m-n)*2
2 অতিরিক্ত- 2
দ্বারা-(2n-1)
প্রতিটি অতিরিক্ত হীরার আয়তক্ষেত্রগুলির জন্য ।
+(m-n)*(n-2)
প্রতিটি অতিরিক্ত হীরাটির জন্য অতিরিক্ত n
- n
বর্গক্ষেত্রের অ্যাকাউন্ট রয়েছে ।
-(m-n-1)*f(n-1,n-1)
এটি নতুন চমকপ্রদ শব্দ। স্পষ্টতই আমি আমার গণনায় কিছু অতিরিক্ত স্কোয়ারের জন্য জবাবদিহি করিনি, তবে বর্ধিত হীরাটি কোথায় আছে তা আমি খুঁজে পাইনি।
দ্রষ্টব্য: কখন m==n
, এর m-n-1 = -1
অর্থ এই শেষ শব্দটি গণনাতে স্কোয়ার যুক্ত করে। আমি আমার নিয়মিত সূত্রে কিছু অনুপস্থিত হতে পারি। সম্পূর্ণ প্রকাশ, এটি কেবলমাত্র এই সূত্রের পূর্ববর্তী খসড়ার প্যাচ হিসাবে বোঝানো হয়েছিল যা সবেমাত্র কাজের ক্ষেত্রে ঘটেছিল। স্পষ্টতই, আমার এখনও কী চলছে তা খনন করতে হবে এবং এটি হতে পারে যে আমার সূত্রে এটিতে কিছু বাগ রয়েছে। আমি আপনাকে পোস্ট রাখতে হবে।
রাসেল, গ্যারি এবং ওয়েইস্টেইন, এরিক ডব্লিউ। "অ্যাজটেক ডায়মন্ড।" ম্যাথওয়ার্ল্ড থেকে - একটি ওল্ফ্রাম ওয়েব রিসোর্স। http://mathworld.wolfram.com/AztecDiamond.html