আজ, আমরা সবচেয়ে দক্ষ বাইনারি ফাংশন গণনা করব। আরও সুনির্দিষ্টভাবে, আমরা ফাংশনটি গণনা করব যা যখন স্থির ইনপুট 0 বা তার নিজস্ব আউটপুটে ফাংশন প্রয়োগ করা থেকে কোনও অভিব্যক্তি তৈরি হয়, তখন ছোট সংখ্যায় উচ্চতর অগ্রাধিকার রেখে সংক্ষিপ্ত সম্ভাব্য এক্সপ্রেশন সহ সমস্ত ধনাত্মক পূর্ণসংখ্যাকে উপস্থাপন করতে পারে।
এই ফাংশনটি নিম্নরূপে নির্মিত:
প্রতিটি পূর্ণসংখ্যার জন্য, 1 থেকে শুরু করে উপরের দিকে যেতে, সংক্ষিপ্ত প্রকাশটি বেছে নিন যা আমরা এখনও আউটপুট বরাদ্দ করি নি এবং সেই পূর্ণসংখ্যাকে সেই এক্সপ্রেশনটির আউটপুট তৈরি করে। এক্সপ্রেশন দৈর্ঘ্যের টাইগুলি ছোট বাম আর্গুমেন্ট এবং তারপরে ছোট ডান আর্গুমেন্ট দ্বারা বিভক্ত হবে। এখানে কিভাবে এটা কাজ করে:
প্রাথমিকভাবে, 1 জনকে নিযুক্ত করা হয়েছে। সংক্ষিপ্ততম স্বাক্ষরবিহীন অভিব্যক্তিটি
f(0, 0)
, তাই আমরা এটি 1 এ সেট করব।এখন, 2 জনকে নিযুক্ত করা হয়েছে। সংক্ষিপ্ততম নিযুক্ত স্বাক্ষরযুক্ত প্রকাশগুলি
f(f(0, 0), 0)
=f(1, 0)
এবংf(0, f(0, 0))
=f(0, 1)
। টাইগুলি ছোট বাম যুক্তির দিকে বিভক্ত হয়, তাইf(0, 1) = 2
।সবচেয়ে স্বল্পতম স্বাক্ষরযুক্ত বাকী বাক্যটি
f(f(0, 0), 0)
=f(1, 0)
, তাইf(1, 0) = 3
।এখন, আমরা কেবল 2
f
গুলি এবং 30
টি দিয়ে এক্সপ্রেশন ছাড়িয়েছি, সুতরাং আমাদের প্রতি আরও একটি যোগ করতে হবে। বাম যুক্তি, তারপর ডানদিকে আর্গুমেন্টের দ্বারা ব্রেকিং বন্ধন, আমরা পেতেf(0, 2) = 4
সাল থেকেf(0, f(0, f(0, 0))) = f(0, f(0, 1)) = f(0, 2)
।অব্যাহত, আমরা আছে
f(0, 3) = 5
,f(1, 1) = 6
,f(2, 0) = 7
,f(3, 0) = 8
,f(0, 4) = 9
, ...
প্রথম কয়েকটি মানগুলির জন্য আমি একটি টেবিল পূরণ করেছি:
0 1 2 3 4 5 6 7 8
/---------------------------
0| 1 2 4 5 9 10 11 12 13
1| 3 6 14 15 37 38 39 40 41
2| 7 16 42 43
3| 8 17 44 45
4| 18 46
5| 19 47
6| 20 48
7| 21 49
8| 22 50
এটি দেখার অন্য একটি উপায় হ'ল প্রতিটি আউটপুটটির একটি আকার থাকে যা এর ইনপুট প্লাস একের আকারের সমান। বাম ইনপুট এবং ডান ইনপুট হ্রাস করে টুকরো টুকরো টুকরো টুকরোটি আউটপুট আকারের ক্রমবর্ধমান আকারে পূরণ করা হয়।
আপনার চ্যালেঞ্জটি হ'ল ইনপুট, গণনা এবং এই ফাংশনের মান হিসাবে দুটি অ-নেতিবাচক পূর্ণসংখ্যা দেওয়া। এটি কোড গল্ফ। সংক্ষিপ্ততম সমাধান, বাইটে, জিতল। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে।
((0, (0, (0, 0))), 0)
অভিধানের তুলনায় ক্ষুদ্রতর (((0, 0), 0), (0, 0))
, তবে পরেরটির বাম হাতটি ছোট থাকে।