আমার একটি কাউন্টার আছে এটি একটি ছোট ডিভাইস যা দেখতে দেখতে এটি:
প্রদর্শন থেকে যায় 0000
থেকে 9999
। এটিতে শীর্ষে একটি সামান্য পুশ-বোতাম রয়েছে যা গণনাটি 1 দ্বারা বাড়িয়ে তোলে এবং ডানদিকে কিছুটা নক করুন যার উদ্দেশ্য কাউন্টারটিকে 0 এ পুনরায় সেট করা।
এখন, ছোট্ট গিঁটের বিষয়টি হ'ল আপনি যদি এটিকে পিছনের দিকে ঘুরিয়ে দেন, আপনি একবার এটিকে আবার সামনের দিকে ঘুরিয়ে দেওয়ার পরে আপনি চান এমন কোনও সংখ্যা বাড়িয়ে তুলতে পারেন। সুতরাং যদি আমি কাউন্টার বোতামটি 10 বার টিপতাম যাতে কাউন্টারটি দেখায় 0010
, আমি কোনও ছোট ক্লিক শুনতে পারা পর্যন্ত আমি গিঁটটি পিছনের দিকে ঘুরিয়ে দিতে পারি, তারপরে আবার এটিকে সামনে ঘুরিয়ে এটিকে সোজা দিকে যেতে বাধ্য করব 0090
।
তবে, নোকটি সর্বদা সংখ্যার সামনে এগিয়ে যাওয়ার সময় সমান সংখ্যার সমস্ত উপস্থিতি সর্বদা 1 দ্বারা বাড়িয়ে তুলবে। সুতরাং যদি কাউন্টারটি দেখায় 6060
, আপনি কেবল এটিকে বাড়িয়ে তুলতে পারেন 7070
, না 6070
বা না 7060
। এছাড়াও, গিঁটটি বহন 9
না 0
করেই গড়িয়ে 0990
যাবে , সুতরাং 0000
পরিবর্তে 1000
বা এর পরিবর্তে অগ্রসর হবে 1100
।
আমি কাউন্টারকে নির্দিষ্ট সংখ্যায় সেট করার সবচেয়ে কার্যকরী উপায় জানতে চাই। আপনার টাস্কটি এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা বোতামের ধাক্কার এবং এর জন্য প্রয়োজনীয় অগ্রযাত্রার সংক্ষিপ্ততর ক্রম নির্ধারণ করবে।
তোমার প্রোগ্রাম ইনপুট হিসাবে থেকে একটি 4 ডিজিটের সংখ্যা নিতে হবে 0000
থেকে 9999
, এবং নিম্নলিখিত বিন্যাসে পদক্ষেপ একটি সিরিজ ফিরে
> 0001
C
> 0093
C12345678C12345678CCC
> 1000
C12345678C12345678C12345678C12345678C12345678C12345678C12345678C
> 9999
012345678
যেখানে C
"কাউন্টার বোতাম টিপুন" এবং D
0 থেকে 9 এর যে কোনও অঙ্কের অর্থ " D
1 দ্বারা সমস্ত ঘটনা এগিয়ে যাওয়ার জন্য নকটি ব্যবহার করুন "।
আপনার প্রোগ্রামে সমস্ত সম্ভাব্য চার-অঙ্কের সংমিশ্রণের জন্য পদক্ষেপের একটি বৈধ ক্রম অবশ্যই তৈরি করতে হবে এবং সমস্ত 10,000 মামলার জন্য প্রয়োজনীয় পদক্ষেপের সংখ্যার দ্বারা স্কোর করা হবে। টাইয়ের ক্ষেত্রে (যখন সম্ভবত সর্বোত্তম অ্যালগরিদম পাওয়া যায়), সংক্ষিপ্ত কোডটি জয়ী হবে।
0010
হবে0020
? অথবা আপনি কেবল গিরিটি পিছনের দিকে ঘুরিয়ে দিতে পারেন? এবং এছাড়াও, প্রতিটি "ডি" গিঁটের অগ্রযাত্রার সংখ্যাকে "ডি" হিসাবে গণনা করে (উদাহরণস্বরূপ,1234567
গিঁটটি 1 বার, তারপরে 2 বার, তারপরে 3 বার, আবার কি তাই ঘোরে)? অথবা এটি কেবল প্রতিটি পৃথক গিঁট ঘুরিয়ে বোঝায় (উদাহরণস্বরূপ,1234567
7 বার গিঁটানো মানে কি)?