05AB1E এর জন্য ASCII- গল্ফিংয়ের পরিচয় (বেস রূপান্তর [সরল])
যদিও 05AB1E ASCII- আর্টের জন্য সরাসরি নয়, আমি এটির সাথে 2 টি চ্যালেঞ্জ জিতেছি। 05AB1E সম্পর্কে সর্বোত্তম জিনিসটি হ'ল এমনকি সাধারণ বেস রূপান্তরের সাথেও প্রায়শই এমন কৌশল আপনি ব্যবহার করতে পারেন যা আপনার বাইট-কাউন্টটি প্রসারিত করতে এবং অর্ধেক করার জন্যও করতে পারেন। প্রায়শই ASCII চ্যালেঞ্জগুলিতে এমন খ্যাতিযুক্ত কৌশল রয়েছে যেগুলি আপনি কেবল অর্ধেক প্যাটার্ন আঁকতে ব্যবহার করতে পারেন তারপরে ফ্লিপ এবং কনটেনেটেট। যদি এটি ফোর ওয়ে প্যাটার্ন হয় তবে আপনি প্যাটার্নের এক কোণটি আঁকতে জিপ এবং দ্বিখণ্ডিতের মতো কাজ করতে পারেন। এই সাধারণ বেস সংক্ষেপণ ধারণার সাথে একত্রে ব্যবহার করার জন্য প্রচুর পরিমাণে ডেটা-স্ট্রাকচার হেরফের করার কৌশল রয়েছে।
বেস রূপান্তর কৌশলটি সম্পর্কে এখানে দ্রুত ক্রাশ-কোর্স রয়েছে:
05AB1E তে আমি ASCII- আর্টে ব্যবহৃত সমস্ত অক্ষরকে অঙ্কিত করেছি, উদাহরণস্বরূপ:
--===___===--
ফলাফল হবে:
-
=
_
আমি তারপরে তাদের 1 নম্বর দিয়ে শুরু করে 0 তারপর 2:
- is 1.
= is 0.
_ is 2.
আমি সংখ্যার সাথে মূল স্ট্রিংয়ের অক্ষরগুলি প্রতিস্থাপন করেছি:
1122200022211
আমি সর্বনিম্ন সম্ভাব্য বেস (3) ব্যবহার করে দশমিক রূপান্তর করি:
879412
( 05AB1E ব্যবহার করে এটি কীভাবে করবেন )
আমি তখন এটি 214 বেসে রূপান্তর করব:
Jh]
( 05AB1E ব্যবহার করে এটি কীভাবে করবেন )
আমি তারপরে নিম্নলিখিত কোডটিতে এটি মোড়ানো:
•Jh]•3B…102…-_=‡
এটি অনলাইন চেষ্টা করুন!
অথবা প্রদর্শিত মধ্যবর্তী পদক্ষেপগুলি দিয়ে চেষ্টা করুন।
চূড়ান্ত ব্যাখ্যা:
•Jh]• # Push the compressed ASCII integer.
3B # Convert it to base 3.
…102 # Push the keys to the conversion.
…-_= # Push the values to the conversion.
‡ # Transliterate, replace 0, 1 and 2 with the symbols.
এখন, এই নির্দিষ্ট চ্যালেঞ্জের সাথে স্ট্রিংটি এত সংক্ষিপ্ত, এটি করার কোনও অর্থ নেই। আমি সম্ভবত কেবল অর্ধেকটি স্ট্রিংটি ধাক্কা দিয়ে 10 বাইটের জন্য প্যালিনড্রাইজ করব "--===__"û
অথবা আদলান স্মার্ট ম্যান ব্যবহার করে মন্তব্যে আদনানের মতো গল্ফ লাগালাম •Jh]•3B5!…-=_‡
। তিনি এর (? এক) স্রষ্টা (গুলি?) 05AB1E করুন।
আরও জটিল উদাহরণ:
/codegolf//a/106621/59376
এছাড়াও, হয়তো ডেনিস 'kolmogorov-জটিলতা ভাষা ব্যবহার করে দেখুন: বাবলগাম ; কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে কোনও ধারণা নেই।