ভূমিকা
একটি গ্রে কোড বাইনারি উপস্থাপনার একটি বিকল্প যেখানে কোনও সংখ্যা পরিবর্তনশীল বিটের পরিবর্তে কেবল একটি বিট টগল করে একটি সংখ্যা বৃদ্ধি করা হয়। দশমিক এবং বাইনারি সমতুল্য সহ কয়েকটি ধূসর কোড এখানে দেওয়া হল:
decimal | binary | gray
-------------------------
0 | 0 | 0
-------------------------
1 | 1 | 1
-------------------------
2 | 10 | 11
-------------------------
3 | 11 | 10
-------------------------
4 | 100 | 110
-------------------------
5 | 101 | 111
-------------------------
6 | 110 | 101
-------------------------
7 | 111 | 100
-------------------------
8 | 1000 | 1100
-------------------------
9 | 1001 | 1101
-------------------------
10 | 1010 | 1111
-------------------------
11 | 1011 | 1110
-------------------------
12 | 1100 | 1010
-------------------------
13 | 1101 | 1011
-------------------------
14 | 1110 | 1001
-------------------------
15 | 1111 | 1000
একটি গ্রে কোডের চক্রীয় বিট প্যাটার্ন
কখনও কখনও "প্রতিবিম্বিত বাইনারি" নামে পরিচিত, একবারে কেবলমাত্র একটি বিট পরিবর্তনের সম্পত্তিটি প্রতিটি কলামের জন্য ন্যূনতম উল্লেখযোগ্য বিট থেকে শুরু করে চক্রীয় বিট নিদর্শনগুলির সাথে সহজেই অর্জিত হয়:
bit 0: 0110011001100110011001100110011001100110011001100110011001100110
bit 1: 0011110000111100001111000011110000111100001111000011110000111100
bit 2: 0000111111110000000011111111000000001111111100000000111111110000
bit 3: 0000000011111111111111110000000000000000111111111111111100000000
bit 4: 0000000000000000111111111111111111111111111111110000000000000000
bit 5: 0000000000000000000000000000000011111111111111111111111111111111
... ইত্যাদি।
উদ্দেশ্য
ধূসর কোডের একটি নন-প্যাডযুক্ত ইনপুট স্ট্রিং দেওয়া হয়েছে, ক্রমটিতে একটি একক অক্ষর পরিবর্তিত করে বা একটি 1
(2 এর পরবর্তী পাওয়ারে বাড়ানোর সময়) প্রিপেন্ড করে ধূসর কোডটি বৃদ্ধি করুন , তারপরে ফলাফলটি একটি প্যাডযুক্ত ধূসর কোড হিসাবে আউটপুট দেয়।
আদেশ সহকারে
0
ইনপুট হিসাবে খালি স্ট্রিং নেওয়া বা নেওয়া সম্পর্কে চিন্তা করবেন না ।- সর্বনিম্ন ইনপুটটি হবে
1
এবং পরিবেশের দ্বারা চাপানো মেমরির সীমাবদ্ধতা বাদে স্ট্রিং দৈর্ঘ্যের উপরের কোনও আবদ্ধ নেই। - নন-প্যাডড স্ট্রিংয়ের দ্বারা, আমি বোঝাতে চাইছি এখানে কোনও শীর্ষস্থানীয় বা চলমান শ্বেত স্পেস (optionচ্ছিক ট্রেলিং নিউলাইন ছাড়া অন্য) থাকবে না, এবং
0
ইনপুট বা আউটপুটে কোনও শীর্ষস্থানীয় নেই ।
I / O ফর্ম্যাটগুলি
নিম্নলিখিত ফর্ম্যাটগুলি ইনপুট এবং আউটপুট জন্য স্বীকৃত ফর্ম হয়, তবে স্ট্রিংগুলি অন্য ফর্ম্যাটগুলির চেয়ে উত্সাহিত হয়:
- সবচেয়ে গুরুত্বপূর্ণ "বিট" প্রথম
- নন-প্যাডযুক্ত অক্ষর অ্যারে বা ASCII
'1'
গুলি এবং'0'
এর স্ট্রিং - অ-প্যাডেড পূর্ণসংখ্যা অ্যারের
1
s এবং0
গুলি - নন-প্যাডেড বুলিয়ান অ্যারে
কি অনুমোদিত নয়:
- কমপক্ষে উল্লেখযোগ্য "বিট" প্রথমে
- দশমিক, বাইনারি বা অ্যানারি পূর্ণসংখ্যা
- নির্দিষ্ট দৈর্ঘ্যের ডেটা-কাঠামো
- চরিত্র বিন্যাস বা মুদ্রণযোগ্য নয় এমন ASCII সূচকের স্ট্রিং
1
এবং0
টেস্ট
input -> output
1 -> 11
11 -> 10
111 -> 101
1011 -> 1001
1111 -> 1110
10111 -> 10110
101100 -> 100100
100000 -> 1100000
অনুরোধের মাধ্যমে আরও পরীক্ষা যোগ করা যেতে পারে।
নির্ণায়ক
এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রাম! পূর্ববর্তী সাবমিশনগুলির পক্ষে সমস্ত সম্পর্ক ছিন্ন হয়ে যাবে; স্ট্যান্ডার্ড লুফোলস প্রযোজ্য। সেরা জমা দেওয়া উত্তর 9 ই অক্টোবর, 2016 স্বীকৃত হবে এবং যখনই আরও ভাল উত্তর দেওয়া হবে আপডেট করা হবে।
0011