সারসংক্ষেপ
শুধুমাত্র অক্ষর ব্যবহার করে একটি নতুন স্ট্রিং ম্যানিপুলেশন ভাষা তৈরি করা হয়েছে $+#-!*|@>
! আপনার কাজটি হ'ল তার পক্ষে একজন দোভাষীকে যথাসম্ভব কম বাইটে প্রয়োগ করা।
ইনপুট
একটি স্ট্রিং, যা এই ভাষার একক লাইন। এটি কোনও যুক্তিসঙ্গত উপায়ে নেওয়া যেতে পারে (স্টিডিন, ফাংশন প্যারামিটার, কমান্ড লাইন আর্গুমেন্ট ইত্যাদি), বা পূর্বনির্ধারিত পরিবর্তনশীল হিসাবে। প্রোগ্রামটি যদি ব্যবহারকারীদের ইনপুট চেয়ে থাকে তবে স্টিডিনের কাছ থেকে জিজ্ঞাসিত সমস্ত ব্যবহারকারী ইনপুট গ্রহণ করুন এবং কিছুই নিচে দেখুন। আপনি ধরে নিতে পারেন এটি একটি বৈধ প্রোগ্রাম।
আউটপুট
ভাষা আউটপুট যাই হোক না কেন, নীচে নির্দিষ্টকরণ। আপনার অবশ্যই কোনও স্ট্রিং আউটপুট দিতে হবে, কোনও যুক্তিসঙ্গত উপায়ে (স্টাডআউট, ফাংশন আউটপুট, ইত্যাদি), অথবা একটি পরিবর্তনশীল মান। যখন ভাষা স্পষ্টভাবে আউটপুট দেয়, এটি অবশ্যই স্টডআউটে যেতে হবে। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে।
ভাষা বিশেষ উল্লেখ
প্রসেসিং এবং সিনট্যাক্স
ভাষার প্রক্রিয়াজাতকরণের একটি খুব সাধারণ রূপ রয়েছে কারণ এটি কেবল স্ট্রিং ম্যানিপুলেশন করে: এটি একটি খালি স্ট্রিং ( ""
) দিয়ে শুরু হয় এবং প্রতিটি পদ দিয়ে এটি পরিবর্তন করে। একটি শব্দ দুটি বা দুটি অংশ নিয়ে গঠিত: একটি ফাংশন (নীচে) সম্ভবত একটি প্যারামিটার (নীচে), যা তার আচরণ সম্পাদনা করে। শর্তাদি পাইপ ( |
) দ্বারা পৃথক করা হয় । আপনি ধরে নিতে পারেন এটি কোনও খালি প্রোগ্রাম হবে না এবং কোনও পদ খালি থাকবে না। আপনি প্রোগ্রাম শেষে মান আউটপুট করা উচিত।
ক্রিয়াকলাপ
ভাষার কেবল 6 টি ফাংশন রয়েছে, নীচে দেখানো হয়েছে। প্রতিটি ফাংশন হয় এক বা শূন্য পরামিতি গ্রহণ করে।
+
সংক্ষিপ্ত স্ট্রিং (একটি স্ট্রিং প্যারামিটার নেয়, এটি বর্তমান মানের সাথে সংলগ্ন করে)!
বর্তমান মানের অক্ষরের ক্রমটি বিপরীত করুন (কোনও পরামিতি নেই)*
স্ট্রিংটি পুনরাবৃত্তি করুন (একটি পূর্ণসংখ্যা প্যারামিটার নেয়, বর্তমান মানটি বহুবার পুনরাবৃত্তি করে)-
একটি মানের সমস্ত উপস্থিতি সরিয়ে দেয় (একটি স্ট্রিং প্যারামিটার নেয়, বর্তমান মান থেকে এর সমস্ত উপস্থিতি সরিয়ে দেয়)$
[সিউডো-] এলোমেলোভাবে বর্তমান মান পরিবর্তন করে (কোনও পরামিতি নেই)<
বর্তমান মান আউটপুটstdout
(কোনও পরামিতি নেই)
মানগুলি
এগুলি সেই মানগুলি যা ফাংশনে স্থানান্তরিত হতে পারে, রেগেক্স দ্বারা প্রতিনিধিত্ব করা হয় যা তাদের সাথে মেলে:
@[^|]*
পাইপ ব্যতীত অন্য কোনও চরিত্র সহ স্ট্রিং আক্ষরিক। এটি খালি থাকতে পারে।#[0-9]+
একটি পূর্ণসংখ্যা আক্ষরিক>
এর পরের লাইনstdin
। যদি এটির সাথে ব্যবহার করা*
হয় তবে পূর্ণসংখ্যায় রূপান্তর করুন।
পরীক্ষার কেস
╔════════════════════════╤═════════════╤══════════════╗
║code │input │output ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|!|+@hello|*> │13 │31hello31hello║
║ │2 │ ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|+@abcdefg|$ │hello │hcloeebafdlg ║
╟────────────────────────┼─────────────┼──────────────╢
║+@how areyou|-@o|-> │w │h areyu ║
╟────────────────────────┼─────────────┼──────────────╢
║+@out|<|*#3 │ │out ║
║ │ │outoutout ║
╟────────────────────────┼─────────────┼──────────────╢
║+> │what ever 345│what ever 345 ║
╟────────────────────────┼─────────────┼──────────────╢
║+@$pe<i@l|<|-@$pe<i@l|+>│A|$o $pe<!@| │$pe<i@l ║
║ │ │A|$o $pe<!@| ║
╟────────────────────────┼─────────────┼──────────────╢
║<|+>|!|< │input text | ║
║ │ │txet tupni ║
║ │ │txet tupni ║
╟────────────────────────┼─────────────┼──────────────╢
║+@># │ |># ║
╚════════════════════════╧═════════════╧══════════════╝
নোট করুন যে পরীক্ষার কেস 2 এলোমেলো, সুতরাং এর মধ্যে অক্ষরের যে কোনও ক্রম বৈধ। এছাড়াও, টেবিলের আউটপুটগুলি নিউলাইনগুলি দ্বারা পৃথক করা হয়েছে, তবে আপনার প্রোগ্রামটি এটি করতে হবে না। প্রতিটি ক্ষেত্রে সর্বশেষ মান চূড়ান্ত আউটপুট।
উদাহরণ (আন-গল্ফড) পাইথন ইন্টারপ্রেটার
এটি অনলাইন চেষ্টা করুন! আপনি IDLE বা আপনি যা ব্যবহার করেন তা দিয়ে আইএমও চালিয়ে যান। (আমি এটি পরে 424 বাইটে গল্ফড করেছি, তবে আমি নিশ্চিত যে আপনি আরও ভাল করতে পারবেন)।
<
। এটা কি বাধ্যতামূলক?
+@>#
,? আমি #
aswell ব্যবহার ।