নিয়মিত বহুভুজ অঞ্চলগুলি


10

সমস্ত তির্যকগুলি আঁকাসহ একটি নিয়মিত এন-গন দেওয়া হয়েছে, ত্রিভুজগুলি কতটি অঞ্চল গঠন করে?

উদাহরণস্বরূপ, নিয়মিত ত্রিভুজটি হুবহু 1, একটি বর্গক্ষেত্রের ঠিক 4, পেন্টাগনের ঠিক 11 এবং একটি ষড়ভুজ 24 থাকে।

  • সমাধানে বাইট সংখ্যার সাথে স্কোর বিপরীতভাবে সমানুপাতিক
  • ছোট ফ্যজ ফ্যাক্টরগুলি তাদের রানটাইমের ভিত্তিতে স্কোরগুলিতে যুক্ত হতে পারে
  • বহুভুজের আশেপাশের অঞ্চল গণনা করে না

1
সুতরাং ... একটি প্রোগ্রাম লিখতে যে আয় এই
ভিড়

উত্তর:


11

গণিত 118

যদিও নিয়মিত এন-গনের অঞ্চলে সমস্ত ত্রিভুজ আঁকেন তার সংখ্যার গণনা করার জন্য যথাযথভাবে সংজ্ঞায়িত রুটিন রয়েছে তবে এগুলি বেশ জটিল। আমি ভাবলাম একটি চিত্র প্রক্রিয়াকরণের পদ্ধতির গ্রহণ করা মজাদার হতে পারে : আমরা যদি এর ত্রিভুজগুলির সাথে এন-গন আঁকি, তবে কি অঙ্কিত চিত্র থেকে অঞ্চলগুলি গণনা করা সম্ভব (আরও স্পষ্টভাবে চিত্রটির রাস্টারযুক্ত এবং বাইনারিযুক্ত উপস্থাপনা থেকে) একটি অ্যারের)?

নিম্নলিখিতটি একটি বহুভুজের আসল চিত্র উত্পন্ন এবং প্রক্রিয়াজাত করে এবং রাস্টারযুক্ত চিত্র থেকে অঞ্চলগুলির সংখ্যা নির্ধারণ করে।

Table[MorphologicalEulerNumber@Binarize@Rasterize@CompleteGraph[k, ImageSize->1200,EdgeStyle->Thickness[Large]],{k,3,14}]

{1, 3, 11, 24, 50, 80, 154, 220, 375, 444, 781, 952}

এটিই সম্ভবত প্রকৌশলের সমাধান হিসাবে উল্লেখ করা যেতে পারে। এটি কাজটি সম্পন্ন করে তবে কিছু সীমিত শর্তের মধ্যে। (এবং এটি ধীরে ধীরে: উপরের কোডটি চালাতে 4.24 সেকেন্ড সময় নিয়েছে)) উপরের রুটিনটি নীচে দেখানো 14-সম্পূর্ণ গ্রাফ পর্যন্ত সঠিকভাবে কাজ করে including আমি এই অবাক করে দিয়েছি যে 952 টি অঞ্চলের কিছু দেখতে খুব কঠিন, যদিও চিত্রটি 1200 বাই 1200 পিক্সেল প্রদর্শিত হয়।

নীচের ছবিটি রাস্টারাইজড এবং বাইনারিযুক্ত হওয়ার আগে চিত্র ।

14-সম্পূর্ণ গ্রাফ


3

এক্সেল, 341 বাইট

ওব্ল্রাম ম্যাথওয়ার্ল্ড লিঙ্কে প্রদত্ত সূত্রটি @ জনতার মন্তব্যে কার্যকর করে।

=A1*(A1^3-6*A1^2+23*A1-42)/24+1+(MOD(A1,2)=0)*(A1*(42*A1-5*A1^2-40)/48-1)-(MOD(A1,4)=0)*3*A1/4+(MOD(A1,6)=0)*A1*(310-53*A1)/12+(MOD(A1,12)=0)*49/2*A1+(MOD(A1,18)=0)*32*A1+(MOD(A1,24)=0)*19*A1-(MOD(A1,30)=0)*36*A1-(MOD(A1,42)=0)*50*A1-(MOD(A1,60)=0)*190*A1-(MOD(A1,84)=0)*78*A1-(MOD(A1,90)=0)*48*A1-(MOD(A1,120)=0)*78*A1-(MOD(A1,210)=0)*48*A1

কিছু স্পষ্টতার জন্য অসম্পূর্ণ:

=A1*(A1^3-6*A1^2+23*A1-42)/24+1
+(MOD(A1,2)=0)  *(A1*(42*A1-5*A1^2-40)/48-1)
-(MOD(A1,4)=0)  *3*A1/4
+(MOD(A1,6)=0)  *A1*(310-53*A1)/12
+(MOD(A1,12)=0) *49/2*A1
+(MOD(A1,18)=0) *32*A1
+(MOD(A1,24)=0) *19*A1
-(MOD(A1,30)=0) *36*A1
-(MOD(A1,42)=0) *50*A1
-(MOD(A1,60)=0) *190*A1
-(MOD(A1,84)=0) *78*A1
-(MOD(A1,90)=0) *48*A1
-(MOD(A1,120)=0)*78*A1
-(MOD(A1,210)=0)*48*A1 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.