দ্য কাতালান সংখ্যার (OEIS) স্বাভাবিক সংখ্যার প্রায়ই সংযুক্তকারিতা প্রদর্শনে একটি ক্রম হয়।
নবম কাতালান সংখ্যাটি ডাইক শব্দের সংখ্যা (বন্ধনী বা বন্ধনীর সুষম স্ট্রিং যেমন [[][]]
; দুটি অক্ষর a এবং b ব্যবহার করে একটি স্ট্রিং হিসাবে আনুষ্ঠানিকভাবে সংজ্ঞায়িত হয় যে প্রথম থেকে শুরু হওয়া কোনও স্ট্রিংয়ের সাথে সংখ্যার চেয়ে বড় বা সমান একটি অক্ষরের সংখ্যা থাকে) বি অক্ষরের, এবং পুরো স্ট্রিংয়ে একই পরিমাণে a এবং b অক্ষর রয়েছে) 2n দৈর্ঘ্য সহ। নবম কাতালান নম্বর (এন> = 0 এর জন্য) এর জন্যও স্পষ্টভাবে সংজ্ঞায়িত করা হয়েছে:
এন = 0 থেকে শুরু করে, প্রথম 20 কাতালান সংখ্যা হ'ল:
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190...
চ্যালেঞ্জ
একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন লিখুন যা STDIN বা একটি গ্রহণযোগ্য বিকল্পের মাধ্যমে একটি অ-নেতিবাচক পূর্ণসংখ্যা নেবে এবং নবম কাতালান সংখ্যাটি আউটপুট করবে। আপনার প্রোগ্রামটি ইনপুট 0-19- এর জন্য সর্বনিম্ন কাজ করতে হবে।
ইনপুট / আউটপুট
ইনপুট
আপনার প্রোগ্রামটি অবশ্যই এসটিডিআইএন, ফাংশন আর্গুমেন্ট বা এই মেটা পোস্টের জন্য গ্রহণযোগ্য বিকল্পগুলির কোনও থেকে ইনপুট নিতে হবে । আপনি ইনপুটযুক্ত নম্বরটিকে এর দশমিক দশমিক উপস্থাপনা, অমান্য উপস্থাপনা বা বাইট হিসাবে পড়তে পারেন।
- যদি (এবং কেবলমাত্র) আপনার ভাষা এসটিডিইএন বা কোনও গ্রহণযোগ্য বিকল্পের কাছ থেকে ইনপুট নিতে না পারে তবে প্রোগ্রামটিতে একটি হার্ডকোডযুক্ত পরিবর্তনশীল বা উপযুক্ত সমতুল্য থেকে ইনপুট নিতে পারে।
আউটপুট
আপনার প্রোগ্রামটি অবশ্যই এই নবীন কাতালান নম্বরটি STDOUT, ফাংশন ফলাফল বা এই মেটা পোস্টের জন্য গ্রহণযোগ্য বিকল্পগুলির মধ্যে আউটপুট করতে হবে । আপনি ক্যাটালান নম্বরটিকে তার মান দশমিক উপস্থাপনা, অ্যানারি উপস্থাপনা বা বাইটগুলিতে আউটপুট দিতে পারেন।
আউটপুটটিতে অ্যাপোরিয়েট ক্যাটালান নম্বর থাকা উচিত, বিকল্পভাবে এক বা একাধিক নিউলাইনগুলি অনুসরণ করে। আপনার ভাষার ইন্টারপ্রেটারের ধ্রুবক আউটপুট যা দমন করা যায় না ব্যতীত অন্য কোনও আউটপুট তৈরি করা যায় না (যেমন একটি অভিবাদন, এএনএসআই রঙ কোড বা ইন্ডেন্টেশন)।
এটি সবচেয়ে সংক্ষিপ্ততম ভাষাটি আবিষ্কার করার বিষয়ে নয়। এটি প্রতিটি ভাষায় সংক্ষিপ্ততম প্রোগ্রামটি সন্ধান করা। অতএব, আমি একটি উত্তর গ্রহণ করব না।
এই চ্যালেঞ্জে, চ্যালেঞ্জের চেয়ে নতুন ভাষাগুলি যতক্ষণ না তাদের প্রয়োগ রয়েছে ততক্ষণ তা গ্রহণযোগ্য । পূর্ববর্তী অপ্রয়োজনীয় ভাষার জন্য নিজেকে এই অনুবাদক লিখতে (এবং এমনকি উত্সাহিত) অনুমতি দেওয়া হয়েছে। তা ছাড়া কোড-গল্ফের সমস্ত স্ট্যান্ডার্ড নিয়ম মানতে হবে। বেশিরভাগ ভাষায় জমা দেওয়া যথাযথ প্রিক্সিস্টিং এনকোডিংয়ে (সাধারণত ইউটিএফ -8) বাইটে স্কোর করা হবে। এছাড়াও নোট করুন যে নবম কাতালান সংখ্যা গণনা করার জন্য বিল্ট-ইনগুলি অনুমোদিত are
তালিকা
এই পোস্টের নীচে স্ট্যাক স্নিপেট উত্তরগুলি থেকে ক্যাটালগ তৈরি করে a) ভাষার প্রতি সংক্ষিপ্ত সমাধানের তালিকা হিসাবে এবং খ) সামগ্রিক লিডারবোর্ড হিসাবে।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
## Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
## Ruby, <s>104</s> <s>101</s> 96 bytes
সেখানে যদি আপনি আপনার শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের যোগফল বা আপনি আলাদাভাবে দোভাষী পতাকা শুল্ক তালিকাভুক্ত করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:
## Perl, 43 + 2 (-p flag) = 45 bytes
আপনি ভাষাটির নামটিকে একটি লিঙ্কও তৈরি করতে পারেন যা স্নিপেটে প্রদর্শিত হবে:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes