দাবি অস্বীকার: লেভেনস্টাইন কোডিং লেভেনস্টাইন সম্পাদনা দূরত্বের মেট্রিকের সাথে সম্পূর্ণ সম্পর্কিত নয় ।
<লেভেনস্টাইন কোড কেন এখানে গণনা করা দরকার সে সম্পর্কে দীর্ঘ গল্প Inোকান>
কোড
লেভেনস্টেইন কোডিং হ'ল ননেজেটিভ ইন্টিজারগুলিকে বাইনারি কোড বরাদ্দ করার একটি ব্যবস্থা যা সম্ভাবনার কিছু অদ্ভুত সম্পত্তি বজায় রাখে যা এই চ্যালেঞ্জের জন্য প্রাসঙ্গিক নয়। আমরা এই কোডটি এল ( এন ) হিসাবে চিহ্নিত করব । উইকিপিডিয়া এটিকে পাঁচ-পদক্ষেপের প্রক্রিয়া হিসাবে বর্ণনা করে:
- ধাপ গণনা ভেরিয়েবল সি থেকে শুরু করে 1 করুন।
1
কোডের শুরুতে নেতৃত্ব না দিয়ে সংখ্যার বাইনারি উপস্থাপনাটি লিখুন ।- দ্বিতীয় ধাপে লিখিত বিটের সংখ্যা এম হতে দিন ।
- যদি এম 0 না হয়, ইনক্রিমেন্ট সি হয় , তবে দ্বিতীয় নম্বরটি এম থেকে নতুন নম্বর হিসাবে পুনরাবৃত্তি করুন ।
- কোডের শুরুতে সি
1
বিট এবং একটি লিখুন0
।
তবে কোডটি পুনরাবৃত্তভাবে বর্ণনা করা যায়:
- যদি সংখ্যা 0 হয় তবে তার কোডটি
0
। 1
কোডের শুরুতে নেতৃত্ব না দিয়ে সংখ্যার বাইনারি উপস্থাপনাটি লিখুন ।- দ্বিতীয় ধাপে লিখিত বিটের সংখ্যা এম হতে দিন ।
- কোডের শুরুতে এল ( এম ) লিখুন ।
1
কোডের শুরুতে কিছুটা লিখুন ।
যারা উদাহরণ পছন্দ করেন তাদের জন্য, এখানে এল (87654321) এর পুনরাবৃত্ত প্রক্রিয়াটি বোঝানো হয়েছে :
চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি সংখ্যা এন দেওয়া হয়েছে, যে কোনও যুক্তিসঙ্গত বিন্যাসে বিটস্ট্রিং এল ( এন ) কে আউটপুট করবে (এতে বিট বিট সহ একটি নম্বর ফিরিয়ে দেওয়া অন্তর্ভুক্ত)। স্ট্যান্ডার্ড লুফোলগুলি বরাবরের মতো অনুমোদিত নয়।
উদাহরণ
ইনপুট: 5
আউটপুট: 1110001
ইনপুট: 30
আউটপুট: 111100001110
ইনপুট: 87654321
আউটপুট: 111110000101001001110010111111110110001
ইনপুট: 0
আউটপুট: 0
±
একটি ফাংশন পরিবর্তে একটি unary অপারেটর সংজ্ঞায়িত দ্বারা কিছু বাইট সংরক্ষণ করতে পারেনf
।