নান্দগেমের অনুরাগীদের জন্য: দয়া করে যুক্তি গেটগুলিতেও দশমিকের জন্য ডিপিডি ব্যবহার করে দেখুন!
পটভূমি
ঘনত্বযুক্ত প্যাকযুক্ত দশমিক (ডিপিডি) হ'ল দক্ষভাবে দশমিক অঙ্কগুলিকে বাইনারিতে সঞ্চয় করার একটি উপায়। এটি 10 বিটগুলিতে তিনটি দশমিক অঙ্ক (000 থেকে 999) সংরক্ষণ করে, যা নিষ্পাপ বিসিডির চেয়ে বেশি দক্ষ (যা 4 বিটের মধ্যে একটি অঙ্ক রাখে)।
স্বরলিপি
- ছোট হাতের অক্ষর
a
থেকেi
বিট যে দশমিক উপস্থাপনা অনুলিপি করা হয়। 0
এবং1
ইনপুট বা আউটপুট বিট নিদর্শনগুলির সঠিক বিট।x
বিট রূপান্তর মধ্যে উপেক্ষা করা হয়।
রূপান্তর টেবিল
নীচে ডিপিডি 10 বিট থেকে তিন দশমিক সংখ্যায় রূপান্তর টেবিল রয়েছে। প্রতিটি দশমিক সংখ্যা 4-বিট বাইনারি (বিসিডি) হিসাবে উপস্থাপিত হয়। উভয় পক্ষের সবচেয়ে গুরুত্বপূর্ণ অঙ্ক থেকে কমপক্ষে বামে ডানদিকে লেখা হয়।
Bits => Decimal (Digit range)
a b c d e f 0 g h i => 0abc 0def 0ghi (0-7) (0-7) (0-7)
a b c d e f 1 0 0 i => 0abc 0def 100i (0–7) (0–7) (8–9)
a b c g h f 1 0 1 i => 0abc 100f 0ghi (0–7) (8–9) (0–7)
g h c d e f 1 1 0 i => 100c 0def 0ghi (8–9) (0–7) (0–7)
g h c 0 0 f 1 1 1 i => 100c 100f 0ghi (8–9) (8–9) (0–7)
d e c 0 1 f 1 1 1 i => 100c 0def 100i (8–9) (0–7) (8–9)
a b c 1 0 f 1 1 1 i => 0abc 100f 100i (0–7) (8–9) (8–9)
x x c 1 1 f 1 1 1 i => 100c 100f 100i (8–9) (8–9) (8–9)
কার্য
দশ বিটের 10 বিটকে দশমিকের তিন অঙ্কে রূপান্তর করুন।
পরীক্ষার মামলা
DPD Decimal
0000000101 005
0001100011 063
0001111001 079
0000011010 090
0001011110 098
1010111010 592
0011001101 941
1100111111 879
1110001110 986
0011111111 999
1111111111 999 * Output is same regardless of the `x` bits
ইনপুট
ডিফল্ট ইনপুট ফর্ম্যাটটি 10 বিটের একটি তালিকা। বিটগুলি উপরের সঠিক ক্রমটি অনুসরণ করা উচিত, বা এর বিপরীত। পরিবর্তে আপনি একটি সমতুল্য স্ট্রিং বা পূর্ণসংখ্যার উপস্থাপনা ব্যবহার করতে পারেন। আমার অন্যান্য চ্যালেঞ্জগুলির বিপরীতে, নেস্টেড স্ট্রাকচারগুলি পুনরায় অর্ডার করার বা ব্যবহারের অনুমতি নেই ।
ইনপুটটির জন্য [1, 1, 0, 0, 0, 1, 0, 1, 0, 0]
, নিম্নলিখিত ফর্ম্যাটগুলি অনুমোদিত:
- বিটের তালিকা:
[1, 1, 0, 0, 0, 1, 0, 1, 0, 0]
- স্ট্রিং:
"1100010100"
- বাইনারি পূর্ণসংখ্যা:
788
বা0b1100010100
- দশমিক পূর্ণসংখ্যা:
1100010100
- বিপরীত:
[0, 0, 1, 0, 1, 0, 0, 0, 1, 1]
এবং উপরের অন্য কোনও ফর্ম্যাটে বিপরীত
নিম্নলিখিত ফর্ম্যাটগুলি অনুমোদিত নয়:
- বিটগুলি নির্বিচারে পুনঃক্রম
[0, 0, 0, 0, 0, 1, 1, 1, 0, 1]
- নেস্টেড কাঠামো:
[[1, 1, 0], [0, 0, 1], [0, 1, 0, 0]]
বা[0b110, 0b001, 0b0100]
আউটপুট
ডিফল্ট আউটপুট ফর্ম্যাটটি 3 দশমিক অঙ্কের তালিকা। প্রতিটি অঙ্ককে 0 থেকে 9 হিসাবে উপস্থাপন করা উচিত, হয় পূর্ণসংখ্যা বা একটি অক্ষর। ইনপুট হিসাবে, আপনি স্ট্রিং বা পূর্ণসংখ্যার উপস্থাপনা চয়ন করতে পারেন। আপনি যদি পূর্ণসংখ্যার উপস্থাপনা চয়ন করেন তবে নেতৃস্থানীয় শূন্যগুলি বাদ দেওয়া যেতে পারে।
স্কোরিং এবং বিজয়ী মানদণ্ড
স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য। সংক্ষিপ্ততম প্রোগ্রাম বা প্রতিটি ভাষার জয়ের জন্য বাইটে ফাংশন।