কোড-গল্ফ প্রোগ্রাম লেখার সময় , আমি সাধারণত কিছু সংখ্যার ধ্রুবক ব্যবহার করে শেষ করি। আমি সবসময় এগুলিকে দশমিক স্থানে রেখেছি কারণ এটি আমার মতামত, তবে আমি কেবল বুঝতে পেরেছিলাম যে আমার ভাষা অন্যান্য নম্বর ফর্ম্যাটকে সমর্থন করে যা আমার কোডটি কিছুটা ছোট করতে পারে।
চ্যালেঞ্জ
একটি ^ণাত্মক পূর্ণসংখ্যার 2 ^ 53-1 এর চেয়ে কম দেওয়া, সিদ্ধান্ত নিন যে সেই পূর্ণসংখ্যার মধ্যে সবচেয়ে কম প্রতিনিধিত্ব আছে কিনা:
- দশমিক
- হেক্সাডেসিমেল
- বৈজ্ঞানিক স্বরলিপি
দশমিক
যেহেতু এটি আমার ভাষার ডিফল্ট ফর্ম্যাট, তাই এই বিন্যাসের জন্য কোনও অতিরিক্ত স্বরলিপি প্রয়োজন নেই। দশমিকের জন্য প্রতিটি সংখ্যা যথারীতি উপস্থাপিত হয়।
হেক্সাডেসিমেল
আমার ভাষাগুলি 0x
হেক্সাডেসিমাল ধ্রুবকগুলির জন্য উপসর্গ ব্যবহার করে । এর অর্থ হ'ল যদি কোনও সংখ্যার 4 টি হেক্সাডেসিমাল অঙ্ক থাকে তবে সেই সংখ্যাটি উপস্থাপন করতে 6 বাইট লাগবে।
বৈজ্ঞানিক স্বরলিপি
আমার ভাষাটি বৈজ্ঞানিক স্বরলিপি দেওয়ার জন্য নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করে:
[আসল বেস] ই [10 এর পূর্ণসংখ্যার এক্সপোঞ্জার]
উদাহরণস্বরূপ, 700
হিসাবে উপস্থাপিত হবে 7e3
, এবং 699
এটি হিসাবে উপস্থাপিত হবে 6.99e3
, কারণ বেসটি অবশ্যই -10 এবং 10 (অ-অন্তর্ভুক্ত) এর মধ্যে হওয়া আবশ্যক । এই চ্যালেঞ্জের উদ্দেশ্যে, বেসটি সর্বদা সর্বনিম্ন 0 হবে, যেহেতু ইনপুটযুক্ত নম্বরটি অ-নেতিবাচক।
আউটপুট
কোন ফর্ম্যাটটি সবচেয়ে সংক্ষিপ্ত তা শনাক্ত করার একটি উপায় আপনাকে ফিরিয়ে আনতে হবে (অর্থাত্ দশমিকের জন্য 0, হেক্সের জন্য 1, বৈজ্ঞানিক জন্য 2)। বিকল্পভাবে, আপনি নিজেরাই সংখ্যার ক্ষুদ্রতম প্রতিনিধিত্ব করতে পারেন।
পরীক্ষার মামলা
Decimal | Hexadecimal | Scientific | Winner
--------------|--------------|-------------------|-------------
0 | 0x0 | 0e0 | Decimal
15 | 0xF | 1.5e1 | Decimal
6999 | 0x1B57 | 6.999e3 | Decimal
7000 | 0x1B58 | 7e3 | Scientific
1000000000000 | 0xE8D4A51000 | 1e12 | Scientific
1000000000001 | 0xE8D4A51001 | 1.000000000001e12 | Hexadecimal
1000000001000 | 0xE8D4A513E8 | 1.000000001e12 | Hexadecimal
1000001000000 | 0xE8D4B45240 | 1.000001e12 | Scientific
স্কোরিং
এটি কোড-গল্ফ , সুতরাং প্রতিটি ভাষার জন্য সবচেয়ে কম বাইটে উত্তর জিততে পারে।
double
। শুধু একটি পরামর্শ; আপনি যেমন উপযুক্ত দেখেন তেমন করুন
1000001000000
হিসাবে লেখা যেতে পারে 1000001e6
।
2^63-1
কিছু ভাষার পক্ষে যেতে প্রয়োজনীয় হতে পারে। স্বাচ্ছন্দ্যের বিষয়টি বিবেচনা করুন যেমন একটি নিম্ন মানের2^32-1
( যেমন মানগুলি একটি ডাবল ভাসমান পয়েন্টের ডেটা টাইপের সাথে ফিট করে)