আপনার এখনই কনওয়ের সিকোয়েন্স (ওরফে 'চেহারা-এবং-বলুন'-সিকোয়েন্স) এর সাথে পরিচিত হওয়া উচিত :
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
?