এমন একটি রুটিন তৈরি করুন যা একটি সংখ্যার বেস সিস্টেমের মধ্যে একটি ব্লকের অ্যারে নেয় এবং এগুলিকে অন্য সংখ্যার বেস সিস্টেমে ব্লকের অ্যারেতে রূপান্তর করে। সিস্টেমগুলি থেকে এবং উভয়ই স্বেচ্ছাসেবী এবং প্যারামিটার হিসাবে গ্রহণ করা উচিত। ইনপুট অ্যারেটি একটি স্বেচ্ছাসেবী দৈর্ঘ্য হতে পারে (যদি এমন কোনও ভাষা ব্যবহার করা হয় যেখানে অ্যারের সাথে অ্যারের দৈর্ঘ্য সংরক্ষণ করা হয় না, যেমন সি, একটি দৈর্ঘ্যের প্যারামিটারটি ফাংশনে পাস করা উচিত)।
এটি কীভাবে কাজ করা উচিত তা এখানে:
fromArray = [1, 1]
fromBase = 256
toBase = 16
result = convertBase(fromArray, fromBase, toBase);
যা প্রত্যাবর্তন করা উচিত [0, 1, 0, 1]
বা সম্ভবত [1, 0, 1]
(নেতারা 0
optionচ্ছিক কারণ তারা উত্তরের মান পরিবর্তন করে না)।
এখানে কিছু পরীক্ষার ভেক্টর রয়েছে:
পরিচয় পরীক্ষার ভেক্টর
fromArray = [1, 2, 3, 4] fromBase = 16 toBase = 16 result = [1, 2, 3, 4]
তুচ্ছ পরীক্ষা ভেক্টর
fromArray = [1, 0] fromBase = 10 toBase = 100 result = [10]
বিগ টেস্ট ভেক্টর
fromArray = [41, 15, 156, 123, 254, 156, 141, 2, 24] fromBase = 256 toBase = 16 result = [2, 9, 0, 15, 9, 12, 7, 11, 15, 14, 9, 12, 8, 13, 0, 2, 1, 8]
সত্যই বিগ টেস্ট ভেক্টর
fromArray = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] fromBase = 2 toBase = 10 result = [1, 2, 3, 7, 9, 4, 0, 0, 3, 9, 2, 8, 5, 3, 8, 0, 2, 7, 4, 8, 9, 9, 1, 2, 4, 2, 2, 3]
অ-সম বেস ভেক্টর
fromArray = [41, 42, 43] fromBase = 256 toBase = 36 result = [1, 21, 29, 22, 3]
অন্যান্য মানদণ্ড / বিধি:
সমস্ত পূর্ণসংখ্যার ভেরিয়েবলগুলি সমস্ত বুদ্ধিমান ইনপুট ব্যাপ্তির জন্য 32 বিট স্বাক্ষরিত পূর্ণসংখ্যার মধ্যে ফিট করা উচিত।
আপনি মধ্যস্থতাকারী প্রতিনিধিত্বতে রূপান্তর করতে পারেন, যতক্ষণ না মধ্যস্থতাকারী 32 বিট স্বাক্ষরিত পূর্ণসংখ্যার অ্যারে ছাড়া আর কিছুই না।
2 থেকে 256 পর্যন্ত ঘাঁটিগুলি পরিচালনা করার প্রত্যাশা করুন than এর চেয়ে উচ্চতর ঘাঁটিগুলিকে সমর্থন করার কোনও দরকার নেই (তবে আপনি যদি চান, সর্ব মাধ্যমে)।
কমপক্ষে 1000 টি উপাদান পর্যন্ত ইনপুট এবং আউটপুট মাপগুলি পরিচালনা করার প্রত্যাশা করুন । একটি সমাধান যা 2 ^ 32-1 উপাদানগুলিতে স্কেল করে ভাল হবে তবে 1000 ঠিক আছে।
এই বিধিগুলি পূরণ করবে যে সংক্ষিপ্ততম কোড থাকার বিষয়ে এটি অগত্যা নয়। এটি সবচেয়ে পরিষ্কার এবং সবচেয়ে মার্জিত কোড থাকার সম্পর্কে।
এখন, এটি করা ঠিক তুচ্ছ নয়, সুতরাং প্রায় উত্তর কার্যকরভাবে গ্রহণযোগ্য হতে পারে!