4-রাষ্ট্রের বারকোড
অনেক ডাক পরিষেবা (রয়্যাল মেল ইউকে, কানাডা পোস্ট, ইউএস মেল, ইত্যাদি) তাদের মেল সম্পর্কিত তথ্য এনকোড করতে একটি 4-রাষ্ট্রীয় বারকোড ব্যবহার করে। এএসসিআইআই-তে রেন্ডার করা, এটি দেখতে এরকম কিছু লাগতে পারে:
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
একটি 4-রাষ্ট্রীয় বারকোড একটি সারি। প্রতিটি বার 4 টি সম্ভাবনার অনুমতি দিয়ে উপরের, নীচের দিকে বা উভয়দিকে প্রসারিত হতে পারে। এর অর্থ হ'ল প্রতিটি বার মূলত একটি বেস 4 ডিজিটের প্রতিনিধিত্ব করে:
| | বার: | | | | | | সংখ্যা: 0 1 2 3
এই প্রতীকীকরণের সমস্যাটি হ'ল এটি প্রতিটি বারকোড একটি বৈধ, বিভিন্ন বারকোড উল্টো দিকে: অভিমুখ ভুল থাকলে সঠিকভাবে অর্থ পরিবর্তন করে। সুতরাং, একটি স্টার্ট এবং স্টপ সিকোয়েন্সটি সাধারণত প্রয়োগ করা হয় যাতে স্ক্যানারটি কোন উপায়ে পড়ার কথা তা গণনা করতে পারে।
এই চ্যালেঞ্জের উদ্দেশ্যে, আমরা অস্ট্রেলিয়া পোস্ট দ্বারা নির্দিষ্ট করা স্টার্ট / স্টপ সিকোয়েন্সটি ব্যবহার করব: প্রতিটি বারকোড শুরু হয় এবং একটি 1 0
অনুক্রমের সাথে শেষ হয় ।
চ্যালেঞ্জ
আপনার টাস্কটি এমন কোনও প্রোগ্রাম বা ফাংশন লিখতে হয় যা ইতিবাচক পূর্ণসংখ্যা দেওয়া N
হয় এবং এএসসিআইআই 4-রাষ্ট্রীয় বারকোডে রূপান্তর করে, যেখানে প্রতিটি বার (শুরু / স্টপ ক্রমগুলি বাদে) এর বেস -4 উপস্থাপনায় একটি অঙ্ক উপস্থাপন করে N
।
উদাহরণ:
পূর্ণসংখ্যা দেওয়া 19623
, আমরা প্রথমে এটির বেস -4 উপস্থাপনায় রূপান্তর করব 10302213
।
এরপরে আমরা প্রতিটি অঙ্কটি সংশ্লিষ্ট বারে ম্যাপ করব:
1 0 3 0 2 2 1 3 | | | | | | | | | | | | | | | |
অবশেষে, আমরা শুরু / স্টপ ক্রম যুক্ত করব:
শুরু শেষ: 1 0 1 0 | | | | | | | | | | | | | | | | | | | | | |
ফলস্বরূপ বারকোডটি প্রোগ্রামটির আউটপুট হওয়া উচিত।
নিয়মাবলী:
- আপনার ভাষার স্ট্যান্ডার্ড পূর্ণসংখ্যার আকারের মধ্যে ইনপুটটি ইতিবাচক পূর্ণসংখ্যার হবে।
- আউটপুট:
- হয় লাইনগুলির একটি তালিকা হতে পারে, বা একটি নতুন স্ট্রাইন যুক্ত স্ট্রিং।
- যতক্ষণ না আকারটি অক্ষত থাকে ততক্ষণ শীর্ষস্থানীয় বা পিছনের নতুন লাইনের / স্পেস থাকতে পারে।
- উপরের ফর্ম্যাট সহ বারকোডটি দেখানো উচিত - বার অঙ্কন করার সময় এটি অবশ্যই পাইপ অক্ষর (
|
) এবং স্পেস ক্যারেক্টার () ব্যবহার করতে হবে এবং প্রতিটি খাড়া বারের মধ্যে 1 স্পেস থাকতে হবে।
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম প্রোগ্রামটি (বাইটে) জিতে!
পরীক্ষার মামলা
4095:
| | | | | | | | | | | | | | | | | | | | | | | |
4096:
| | | | | | | | | | | | | |
7313145:
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |