এম → টিপ , 4 বাইট
Ṅ×ịß
এটি অনলাইন চেষ্টা করুন!
টিআইও লিঙ্কটি এশোলং পৃষ্ঠায় প্রদর্শিত টিপ প্রোগ্রামের সাথে টিপ প্রোগ্রামটির সাথে ফাংশনটি কল করতে একটি পাদলেখকে যুক্ত করেছে (এম এর "স্বয়ংক্রিয় মোড়ক" ফাংশনগুলিকে কল করার জন্য যেমন তারা প্রোগ্রামগুলি যুক্তিযুক্ত বা স্থির-পয়েন্ট সংখ্যা হ্যান্ডেল করতে পারে না, বা কমপক্ষে আমার আশ্রয়স্থল নয়) এটি কীভাবে বলা যায় তা বুঝতে পারেনি, সুতরাং এটি চালাতে সক্ষম হওয়ার জন্য আমাকে ফাংশনটি একটি সম্পূর্ণ প্রোগ্রামে তৈরি করা দরকার))
এটি আসলে দরকারী ডিবাগ আউটপুট প্রিন্ট করে; এম তে 3 বাইটে প্রোগ্রামটি লেখা যায় না কারণ ঠিক তিনটি ডায়াড সমন্বিত একটি প্রোগ্রাম পার্সারে একটি বিশেষ ক্ষেত্রে ট্রিগার করে, তাই বিশেষ কেসটি এড়াতে আমাকে একটি অতিরিক্ত কমান্ড যুক্ত করতে হয়েছিল। এটি তৈরি করা Ṅ
(নিউলাইন দিয়ে মুদ্রণ) অন্তত এটি একটি দরকারী উদ্দেশ্য দেয়।
ı
i=−1−−−√
I / O (থামানো / না-থামানো ব্যতীত) প্রয়োগ করে না। আই / ও হ'ল টিপ-এর একটি এক্সটেনশন (নিজেই ভাষার অংশ নয়), এবং টুরিং-সম্পূর্ণতার জন্য প্রয়োজনীয় নয়।
ব্যাখ্যা / পটভূমি
Ṅ×ịß
Ṅ Print {the left argument} and a newline; also resolves a parser ambiguity
ị {The left argument}th element of {the right argument}, wrapping on OoB
× Multiply {the left argument} by {the chosen element}
ß Recursive call; arguments: {the product} and {the same right argument}
[1,2,3]
[1,2,3,1,2,3,1,2,3,…]
rx+sযা একটি বহুপদী, এবং অনেকগুলি গল্ফিং ভাষাগুলির "বেস রূপান্তর" অন্তর্নির্মিত আসলে ছদ্মবেশে একটি সাধারণ-উদ্দেশ্য বহুপদী মূল্যায়নকারী। সুতরাং আমাদের যা করতে হবে তা হল অঙ্কগুলির তালিকাগুলির তালিকায় তালিকা তৈরি করা, সেগুলি বেস-রূপান্তর করা এবং আমরা ঠিক করেছি, তাই না?
xx
ḅ
x⊕(x⊗y)x⊗y⊕। অবশ্যই, আমরা চাই আমরা যেকোন কিছুতে শৃঙ্খলাবদ্ধ আচরণটি ওভাররাইড করতে পারি, তবে এটির জন্য পুরো বাইট লাগবে, এবং এই প্রশ্নে গল্ফিং ভাষার এন্ট্রিগুলি এত সংক্ষিপ্ত হয়ে উঠছে যে একটি বাইট অনেক বেশি।
তাই আমি পিছনে তাকালাম এবং কিছুটা পুনরায় মূল্যায়ন করেছি। বহুপাক্ষিক মূল্যায়নের পরিবর্তে আমরা কি কোনও অপারেশন ব্যবহার করতে পারি? আদর্শভাবে, যেগুলি পরিবর্তনশীল, তাই আমাদের যুক্তির আদেশ সম্পর্কে চিন্তা করার দরকার নেই? তারপরেই, আমি বুঝতে পারি যে কোলাটজ ফাংশনগুলি তাদের প্রয়োজনের চেয়ে আরও জটিল।
s
এবং অবশ্যই, বেস রূপান্তর ( ḅ
) এর বিপরীতে , গুণ ( ×
) পরিবর্তনীয়, এবং সুতরাং এটি যুক্তিগুলিতে কী অর্ডার স্থাপন করা হয় তা বিবেচনা করে না So সুতরাং আমাদের যা লিখতে হবে তা হ'ল ×ị
, এবং তারপরে প্রোগ্রামটিকে একটি অসীম পুনরাবৃত্তিতে রাখুন ß
, এবং আমাদের একটি টুরিং-সম্পূর্ণ ভাষা আছে। রাইট?
(x⊙y)⊕(x⊗y)¹×ịß
¹
¹
Ṅ
এটি একটি ভাল পছন্দ কারণ এটি দরকারী ডিবাগ আউটপুট উত্পাদন করে।
তিনটি বাইট কি সম্ভব? যদি না আমি কিছু অনুপস্থিত না করি, প্রয়োগ ও প্রয়োগকৃত ভাষাটির এই নির্দিষ্ট পছন্দটির সাথে না, তবে এই মুহূর্তে এটি অবশ্যই মনে হয় এটি কোনওভাবেই সম্ভব হবে, কারণ এটি চারটি করার অনেকগুলি উপায় রয়েছে এবং অনেকগুলি টুরিং-সম্পূর্ণ আপনি প্রয়োগ করতে পারে ভাষা।
eval
মত সমাধানগুলি প্রতিরোধ করার জন্য, আপনি এটি প্রয়োগ করার জন্য যে ভাষা ব্যবহার করেন তা অবশ্যই বাস্তবায়িত ভাষা পৃথক হতে হবে ।