এটা আমার জন্য একটি ফলো-আপ প্রশ্ন হল Puzzling.SE প্রশ্ন : আমি জিজ্ঞাসা করলাম একটি ফাংশন আছে কিনা চ বুলিয়ান স্ট্রিং বুলিয়ান স্ট্রিং ম্যাপিং, যাতে চ (চ (খ)) = বিপরীত (খ) সমস্ত ইনপুট স্ট্রিং জন্য খ । ( বিপরীতক্রমে , আমি ফাংশনটি যা বিটের ক্রমকে বিপরীত করে বুঝি))
উপরের লিঙ্কটিতে দুর্দান্ত চ '' র প্রমাণ সহ একটি ইতিবাচক উত্তর রয়েছে তবে আপনি নিজের প্রশ্নের আগে নিজেরাই বিবেচনা করতে চাইতে পারেন।
বাস্তবায়ন যেমন একটি ফাংশন চ সম্ভব কয়েক বাইট হিসাবে।
আপনি হয় STDIN থেকে ইনপুট পড়তে পারেন, বা কোনও ফাংশন যুক্তি নিতে পারেন; এবং হয় STDOUT এ ফলাফল স্ট্রিং লিখুন, বা এটি ফিরে।
যে কোনও উপায়ে, আপনি দুটি স্বতন্ত্র বাইট বা আপনার পছন্দের অক্ষর (বলুন
0এবং1,\x00এবং এবং\x01) এবং সত্যবাদী এবং মিথ্যা মানগুলির অ্যারে / তালিকা সহ কাজ করতে পারেন । যদিও দুটি মান চয়ন করুন এবং সেগুলির সাথে আঁকুন।চ এর একক প্রয়োগের ফলাফলটি অবশ্যই বাইনারি স্ট্রিং হতে পারে: এর মতো নির্বোধ উত্তরগুলি
b -> if b starts with 'x' then reverse(b[1:]) else 'x' + b...আপনার ফাংশন মোট হতে হবে ; বিশেষত, ইনপুটটি খালি স্ট্রিং বা এক বিট লম্বা ইত্যাদি হতে পারে the স্ট্রিংয়ের দৈর্ঘ্যের জন্য উপরের কোনও আবদ্ধতা নেই।
এটি খাঁটিও হওয়া উচিত : ফাংশন কলগুলির মধ্যে কোনও বৈশ্বিক অবস্থা রাখবেন না; ইনপুট স্ট্রিং সম্পূর্ণ আউটপুট স্ট্রিং নির্ধারণ করতে হবে।