( চ্যাটটিতে আমার "দাবা" এবং "ফিবোনাচি" ট্যাগের এলোমেলো জোড়ায় হেল্কার প্রতিক্রিয়া দ্বারা অনুপ্রাণিত )
ফিবানচি
ফিবানচি সংখ্যার গণিত আরও সুপরিচিত সিকোয়েন্স, যেখানে প্রতিটি দুই নম্বর পূর্ববর্তী সংখ্যার একসঙ্গে যোগ করে গঠিত হয় এক। নীচে শূন্য-সূচকযুক্ত ক্রমের সংজ্ঞা দেওয়া হল:
f(0) = 0
f(1) = 1
f(n) = f(n-1) + f(n-2)
ক্রম 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
( OEIS লিঙ্ক ) এ ফলাফল । এই চ্যালেঞ্জের মধ্যে আমরা কেবলমাত্র কঠোর-ইতিবাচক মানগুলিতে (তাই 1, 1, 2, 3, ...
) মনোনিবেশ করব এবং আপনি শূন্য-সূচক বা এক-সূচক নির্বাচন করতে পারেন, তবে দয়া করে আপনার জমা দেওয়ার বিষয়টি উল্লেখ করুন।
ফাইবোনাচি নম্বরগুলি ক্রমান্বয়ে f(n)
আকারের স্কোয়ারগুলি ব্যবহার করে এবং তাদের প্রান্তগুলি একসাথে সারিবদ্ধ করে বিমানটিকে টাইলিংয়ের জন্য ব্যবহার করা যেতে পারে । টাইলিংটি বর্তমান চৌকোটি থেকে "ডান-উপরে-বাম-ডাউন" প্যাটার্নে স্কোয়ার স্থাপন করে একটি পাল্টা-ঘড়ির কাঁটার ফ্যাশনে করা হয়। নীচের দিকে f(8)=21
বর্গক্ষেত্রটি হাইলাইট করা সহ এই আংশিক টাইলিংয়ের একটি উদাহরণ নিম্নরূপ:
আপনি দেখতে পারেন f(1)=1
শুরু স্কয়্যার (নীল হাইলাইট করা), যেমন f(2)=1
স্কোয়ারে স্থাপন ডান এটি, f(3)=2
বর্গক্ষেত্র স্থাপন আপ সেখান থেকে f(4)=3
বর্গক্ষেত্র স্থাপন বাম এবং তাই। পরবর্তী স্কোয়ারটি হবে f(9)=21+13=34
এবং নীচে স্থাপন করা হবে। এই চ্যালেঞ্জটিতে আমরা ব্যবহার করব আংশিক টাইলিং পদ্ধতি।
রাণীরা
দাবা খেলার ক্ষেত্রে , সবচেয়ে শক্তিশালী টুকরাটি রানী কারণ এটি যে কোনও স্থানকে অনুভূমিকভাবে, উল্লম্বভাবে বা তির্যকভাবে স্থানান্তর করতে পারে। নীচের বোর্ডের চিত্রটিতে, একটি কালো বৃত্তযুক্ত স্কোয়ারগুলি দেখায় যেখানে রানী স্থানান্তর করতে পারে:
আমরা শব্দ সংজ্ঞায়িত করব কভারেজ হিসাবে
খালি বোর্ডে রানির নির্দিষ্ট অবস্থান এবং রানীর নিজস্ব শুরুর অবস্থান সহ মোট স্কোয়ারের সংখ্যা বনাম রানী যে স্কোয়ারের মোট সংখ্যা তুলনা করতে পারে তার শতাংশের পরিমাণ।
উদাহরণস্বরূপ উপরে সরানো, রানির কভারেজটি হ'ল 28/64 = 43.75%
। রানী যদি উপরের-ডান h8
চৌকোতে থাকে তবে কভারেজটি হবে 22/64 = 34.375%
। রানী থাকলে e7
কভারেজ হত 24/64 = 37.5%
।
চ্যালেঞ্জ
আমরা এই চ্যালেঞ্জের জন্য আমাদের দাবা বোর্ড হিসাবে উপরে প্রদর্শিত ফিলোনাচি টাইলিং ব্যবহার করতে যাচ্ছি। আপনাকে ইনপুট হিসাবে দুটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হবে n
এবং x
:
n
প্রতিনিধিত্ব করে কত বড় টালি দ্বারা আচ্ছাদন নেই। উদাহরণটি tiling, সঙ্গে21
বাম বর্গাকার, আকারের একটি বোর্ডn = 8
থেকেf(8) = 21
(যখন শূন্য ইন্ডেক্স)।x
প্রতিনিধিত্ব করে যা ফিবানচি স্কোয়ার রাণী (গুলি) বসানো জন্য ব্যবহার করা হয়, কভারেজ গণক জন্য। রাণীগুলি সেই নির্দিষ্ট ফিবোনাচি স্কোয়ার টাইলের প্রতিটি স্কোয়ারে একসাথে এক সময় স্থাপন করা হয় এবং মোট কভারেজটি পৃথক (অনন্য) কভারেজের সংমিশ্রণ।
উদাহরণস্বরূপ, এখানে একটি চিত্র n = 8
(উপরের মতো একই টাইলিং) এবং x = 4
( f(4) = 3
বর্গক্ষেত্রের সাথে শেড নীল)। এই নয়টি নীল স্কোয়ারের প্রত্যেকটিতে এক-সময়ে-সময়ে রানিকে রেখে, রানীরা কমলা ছায়াযুক্ত প্রতিটি বর্গকে (সম্মিলিত) কভার করতে পারে। এই উদাহরণে মোট কভারেজ তাই 309/714 = 43.28%
।
বেশ স্পষ্টতই, যে কোনও সময় n = x
, কভারেজটি হতে চলেছে 100%
(উদাহরণস্বরূপ, সহ n=8
এবং x=8
, আপনি দেখতে পারেন যে পুরো বোর্ডের প্রতিটি বর্গটি কমপক্ষে একবারে coveredাকা হয়ে যাচ্ছে)। বিপরীতভাবে, উপযুক্তভাবে বড় n
এবং x=1
বা এর সাথে x=2
, কভারেজটি পৌঁছতে চলেছে (তবে কখনও পৌঁছায় না) 0%
(উদাহরণস্বরূপ, n=8
এবং এর সাথে x=1
, কভারেজটি একটি পোল্ট্রি 88/714 = 12.32%
))
এই জাতীয় দুটি ইনপুট নম্বর দেওয়া, আপনি অবশ্যই কভারেজ শতাংশ, দুই দশমিক স্থানে সঠিক আউটপুট। আপনার কোডটি কীভাবে পরিচালনা করে তা উল্লেখ করুন।
বিধি
- ইনপুট এবং আউটপুট যেকোন সুবিধাজনক বিন্যাসে দেওয়া যেতে পারে তবে দুটি দশমিক স্থানে অবশ্যই সঠিক হতে হবে। আপনার কোডটি কীভাবে পরিচালনা করে তা উল্লেখ করুন।
- ধরুন অন্য কোনও টুকরো বোর্ডে নেই বা অন্যথায় চলাফেরায় হস্তক্ষেপ করবে না।
- হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরিয়ে দিতে পারেন।
- যদি সম্ভব হয় তবে দয়া করে একটি অনলাইন পরীক্ষার পরিবেশের একটি লিঙ্ক অন্তর্ভুক্ত করুন যাতে অন্য লোকেরা আপনার কোডটি চেষ্টা করে দেখতে পারে!
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- এটি কোড-গল্ফ তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।
উদাহরণ
n = 8, x = 4
43.28
n = 8, x = 8
100 or 100.00
n = 8, x = 1
12.32
n = 4, x = 1
66.67
n = 4, x = 2
60 or 60.00
n = 5, x = 3
75 or 75.00
n = 5, x = 1
47.5 or 47.50