256-রঙের এক্সটার্ম-সামঞ্জস্যপূর্ণ টার্মিনালগুলি সাধারণ 16 সিস্টেমের রঙের উপরে 240 রঙ যুক্ত করে। 16-231 রঙগুলি লাল, সবুজ এবং নীল রঙের 6 টি স্তরের (0, 95, 135, 175, 215, 255), অভিধানিকৃতভাবে অর্ডার করেছে। 232-255 রঙগুলি ধূসর মাত্র 24 স্তরের (8 ... 238 10 স)। আমি যা বলছি তার আরও ভাল ধারণা পেতে, এই টেবিলটি দেখুন ।
চ্যালেঞ্জ
আপনার লক্ষ্যটি এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করা যা ইনপুট, আরজিবি মান হিসাবে গ্রহণ করে এবং সেই আরজিবি মানের সাথে নিকটতম এক্সটার্ম রঙের সাথে সংখ্যার আউটপুট দেয়। যেহেতু 16 সিস্টেমের রঙগুলি (রঙ 0-15) প্রায়শই কাস্টমাইজযোগ্য হয়, আপনি তাদের এই রূপান্তর থেকে বাদ দিবেন।
"নিকটতম" রঙটি আরও ভালভাবে সংজ্ঞায়িত করতে ম্যানহাটনের দূরত্বটি লাল, সবুজ এবং নীল উপাদানগুলি সহ ব্যবহার করুন । উদাহরণস্বরূপ, rgb(10, 180, 90)
20 টি ইউনিট দূরে rgb(0, 175, 95)
(রঙ 35) কারণ abs(10 - 0) + abs(180 - 175) + abs(90 - 95) == 20
। যদি ইনপুট রঙটি দুই বা ততোধিক এক্সটার্ম রঙের মধ্যে সমান হয় তবে সর্বাধিক সূচকের সাহায্যে এক্সটার্ম রঙটি আউটপুট করুন।
উদাহরণ
R G B Xterm
0 0 0 ==> 16
95 135 0 ==> 64
255 255 255 ==> 231
238 238 238 ==> 255
90 133 140 ==> 66
218 215 216 ==> 188
175 177 178 ==> 249
175 0 155 ==> 127
75 75 75 ==> 239
23 23 23 ==> 234
115 155 235 ==> 111
বিধি
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ
- আপনার প্রোগ্রাম বা ফাংশনটি যে কোনও যুক্তিসঙ্গত বিন্যাসে rgb মান গ্রহণের অনুমতি দেয়, সহ:
- লাল, সবুজ এবং নীল রঙের জন্য পৃথক যুক্তি
- একটি তালিকা, tuple, অভিধান, বা অনুরূপ
- ডিলিমিটার-বিচ্ছিন্ন স্ট্রিং বা স্টিডিন
- হেক্স রঙ (যেমন
#ff8000
)
- আপনি ধরে নিতে পারেন যে সমস্ত r, g, এবং b, মানগুলি 0 এবং 255 এর মধ্যে পূর্ণসংখ্যা হবে।
- যেহেতু 16 সিস্টেমের রঙ ম্যাপিং থেকে বাদ দেওয়া উচিত, সমস্ত আউটপুট 16 ... 255 এর মধ্যে হওয়া উচিত।
এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম কোড জিততে পারে।