একটি ফাংশন বা প্রোগ্রাম লিখুন যা একটি স্ট্রিংকে কোড 39 ফর্ম্যাট বারকোডে এনকোড করে, যেখানে প্রতিটি অক্ষর চারটি ফাঁক দিয়ে পৃথক পাঁচটি বার হিসাবে এনকোড থাকে। দুটি বারের মধ্যে দুটি এবং ফাঁকের একটি ফাঁকা এবং অন্যগুলি সরু (10 * 4 কোড), বা তিনটি ফাঁক প্রশস্ত এবং বারগুলির কোনওটিই (4 কোড) নয়। এটি ৪৪ টি ভিন্ন কোড দেয়, যার মধ্যে একটি সংরক্ষিত কোড যা এনকোডযুক্ত স্ট্রিংয়ের শুরু এবং শেষ বোঝাতে ব্যবহৃত হয়।
চ্যালেঞ্জ
ইনপুটটি স্ট্রিং থেকে সেট থেকে কেবলমাত্র অক্ষর থাকে
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-. +/$%
আউটপুটটি বারকোড স্ট্রিং হিসাবে এনকোড করা স্ট্রিং। সংকীর্ণ ফাঁক এবং আন্তঃসারকের ফাঁকগুলি একটি একক স্থান এবং প্রশস্ত ফাঁক তিনটি স্থান। সংকীর্ণ বারটি ইউনিকোড অক্ষর "ফুল ব্লক", █ এর জন্য ইউটিএফ -8 বাইট অনুক্রম, 0xE2 0x96 0x88এবং প্রশস্ত বারটি এই জাতীয় তিনটি বাইট অনুক্রম / অক্ষর ( ███)। কোডগুলির সম্পূর্ণ তালিকাটি হ'ল:
Spaces
0100 0010 0001 1000 1011 1101 1110 0111
Bars
00000 + / $ %
10001 1 A K U
01001 2 B L V
11000 3 C M W
00101 4 D N X
10100 5 E O Y
01100 6 F P Z
00011 7 G Q -
10010 8 H R .
01010 9 I S space 1=wide
00110 0 J T start/end 0=narrow
বার এবং স্পেসগুলি একটি বার থেকে শুরু করে আন্তঃবিভক্ত হয়, উদাহরণস্বরূপ Q হয়
bar 0 0 0 1 1
code █ █ █ ███ ███
space 0 0 0 1
সমস্ত অক্ষর এনকোড করার পরে, উভয় প্রান্তে স্ট্রিংটি সীমানা সহ প্রান্তিক করা হয় █ █ ███ ███ █। আন্তঃচক্রের ফাঁক, একটি একক স্থান, প্রতিটি বর্ণের মধ্যে সন্নিবেশ করা হয়। আপনার সমাধানটি ফাঁকা স্থান এবং একটি ট্রেলিং করা নতুন লাইন আউটপুট করতে পারে (সেই ক্রমে)।
উদাহরণ
"" → "█ █ ███ ███ █ █ █ ███ ███ █"
"A" → "█ █ ███ ███ █ ███ █ █ █ ███ █ █ ███ ███ █"
"C++" → "█ █ ███ ███ █ ███ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ ███ █"
"GOLF" → "█ █ ███ ███ █ █ █ █ ███ ███ ███ █ ███ █ █ █ ███ █ █ ███ █ ███ ███ █ █ █ █ ███ ███ █"
স্ট্যান্ডার্ড ইনপুট / আউটপুট ফর্ম্যাটগুলি অনুমোদিত এবং স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়। এটি কোড-গল্ফ , তাই বাইট জিতে স্বল্পতম কোডটি মাপা!
#চরিত্রটির ব্যবহারের জন্য শাস্তি দেওয়া খুব ন্যায়সঙ্গত নয় , উদাহরণস্বরূপ, "#"কোনও ভাষায় এটির ব্যবহারের একমাত্র কারণ নয়।