আপনার এখনই কনওয়ের সিকোয়েন্স (ওরফে 'চেহারা-এবং-বলুন'-সিকোয়েন্স) এর সাথে পরিচিত হওয়া উচিত :
1
11
21
1211
111221
312211
etc
আপনি যে কোনও স্বেচ্ছাসেবী সংখ্যার সাথে শুরুতে পয়েন্ট হিসাবে শুরু করতে পারেন। যাক f(s)ক্রম পরবর্তী উপাদান হতে। এখন প্রতিটি দেওয়া জন্য sআমরা খুঁজে পেতে পারেন f(s)। বিপরীতটি তুচ্ছ নয়: yপূর্ববর্তীদের sএমন সন্ধান করা সম্ভব নয় f(s) = y। যেমনy = 1 আমরা কোনও পূর্বসূরি খুঁজে পাই না। কিন্তু যদি yএকটি হয়েছে এমনকি যদি আপনি এটি ডিজিটের যা পূর্বসুরী প্রতিটি অংশ বর্ণনা জোড়া বিভক্ত করতে দৈর্ঘ্য:
513211 divides in 51,32,11
so: 51 comes from 11111
32 comes from 222
11 comes from 1
put together: 111112221
সুতরাং এইভাবে আমরা এখানে এমনকি দৈর্ঘ্যের প্রতিটি জন্য একটি অনন্য পূর্বসূরী সংজ্ঞায়িত করতে পারি y।
বিঃদ্রঃ : sএইভাবে সংজ্ঞায়িত 'পূর্বসূরি' সাধারণত সন্তুষ্ট হয় না f(s) = y।
লক্ষ্য
একটি ফাংশন / প্রোগ্রাম স্নিপেট লিখুন যা অঙ্কের একটি স্ট্রিংটিকে ইনপুট হিসাবে স্বীকার করে
- যদি ইনপুট স্ট্রিংয়ের দৈর্ঘ্য হয় তবে কনওয়ে ক্রমের পরবর্তী উপাদান গণনা করে element বিজোড়
- উপরের হিসাবে সংজ্ঞায়িত যদি ইনপুট স্ট্রিং দৈর্ঘ্য হল ইনপুট স্ট্রিং এর পূর্বসুরী হিসাব এমনকি ।
বাইটস মধ্যে সংক্ষিপ্ত কোড।
চেহারা এবং বলার ক্রমগুলির উপর ভিত্তি করে সাম্প্রতিক প্রশ্নগুলি:
11111111111111? আপনার অনুমান অনুসারে, এটি হবে 1111111। এর জন্য যুক্তিসঙ্গত উত্তর সংজ্ঞায়িত করার জন্য আপনার স্পেসিফিকেশনটি পরিবর্তন করতে হবে।
11111111111111 কেবলমাত্র পূর্বসূরী নেই। এটি একটি অবৈধ ইনপুট।
513111মধ্যে ভাগ51,32এবং11?