একারম্যান ফাংশনটি মোট, গণনাযোগ্য ফাংশনের অন্যতম সহজ উদাহরণ হিসাবে উল্লেখযোগ্য যা আদিম পুনরাবৃত্তিযোগ্য নয়।
আমরা A(m,n)
যেখানে দুটি নন-নেগেটিভ পূর্ণসংখ্যার গ্রহণের সংজ্ঞাটি ব্যবহার করব
A(0,n) = n+1
A(m,0) = A(m-1,1)
A(m,n) = A(m-1,A(m,n-1))
আপনি বাস্তবায়ন করতে পারেন
- ইনপুট হিসাবে দুটি পূর্ণসংখ্যা গ্রহণ করে একটি নামযুক্ত বা বেনামে ফাংশন, কোনও পূর্ণসংখ্যা ফেরত দেয়, বা
- STDIN- এ দুটি স্পেস- বা নিউলাইন-বিভাজিত পূর্ণসংখ্যক গ্রহণ করা একটি প্রোগ্রাম, STDOUT এ ফলাফল মুদ্রণ করে।
আপনি যদি কোনও লাইব্রেরি থেকে অ্যাকারম্যান ফাংশন বা হাইপার এক্সপেনসিয়েশন ফাংশন ব্যবহার করতে না পারেন তবে এটি উপস্থিত থাকলে আপনি অন্য কোনও লাইব্রেরি থেকে অন্য কোনও ফাংশন ব্যবহার করতে পারেন। নিয়মিত খণ্ডন অনুমোদিত allowed
আপনার ফাংশনটি অবশ্যই A(m,n)
এক মিনিটেরও কম সময়ে m ≤ 3 এবং n ≤ 10 এর মান সন্ধান করতে সক্ষম হবে । এটি কমপক্ষে তাত্ত্বিকভাবে অন্য যে কোনও ইনপুটগুলিতে সমাপ্ত হতে হবে: প্রদত্ত অসীম স্ট্যাক স্পেস, একটি নেটিভ বিগিন্ট টাইপ এবং একটি নির্বিচারে দীর্ঘ সময়, এটি উত্তরটি ফিরিয়ে দেবে। সম্পাদনা: আপনার ভাষার যদি ডিফল্ট পুনরাবৃত্তি গভীরতা থাকে যা খুব সীমাবদ্ধ হয়, আপনি কোনও অক্ষর ব্যয় ছাড়াই এটি পুনরায় কনফিগার করতে পারেন।
সংক্ষিপ্ত সংখ্যক অক্ষরের সাথে জমা দেওয়া জেতা।
আপনার উত্তরটি যাচাই করার জন্য এখানে কিছু মান রয়েছে:
A | n=0 1 2 3 4 5 6 7 8 9 10
-----+-----------------------------------------------------------------
m=0 | 1 2 3 4 5 6 7 8 9 10 11
1 | 2 3 4 5 6 7 8 9 10 11 12
2 | 3 5 7 9 11 13 15 17 19 21 23
3 | 5 13 29 61 125 253 509 1021 2045 4093 8189
4 | 13 65533 big really big...
A(3,8)
এবং অন্যদের মতো নির্লজ্জভাবে উপরে থাকে তবে কী হবে ? আমাকে কী পুনঃবিবর্তন সমাধান নিয়ে আসতে হবে, অথবা আমি এই ক্ষেত্রে কেবল "অসীম স্ট্যাক স্পেস ধরে নিতে" পারি? আমি মোটামুটি নিশ্চিত, এটি এক মিনিটের মধ্যেই শেষ হয়ে যাবে।