জাভাস্ক্রিপ্ট / কিউবিক্স, 36 বাইট
//.!v+u;$I^@O<.Iu
a=>eval(a.join`-`)
চেষ্টা করে দেখুন!
জাভাস্ক্রিপ্ট ফাংশনটি নীচে স্নিপেট ব্যবহার করে পরীক্ষা করা যেতে পারে, কিউবিক্স প্রোগ্রামটি এখানে পরীক্ষা করা যেতে পারে ।
কিভাবে কাজ করে?
জাভাস্ক্রিপ্ট
প্রথম লাইনটি জাভাস্ক্রিপ্টের একটি লাইন মন্তব্য, যেহেতু এটি দুটি স্ল্যাশ দিয়ে শুরু হয়, সুতরাং জাভাস্ক্রিপ্ট কেবল নীচের লাইনটি ( a=>eval(a.join`-`)
) দেখায় যা ইনপুট হিসাবে একটি অ্যারে গ্রহণ করে, এটি বিয়োগফলকে অন্তঃসত্ত্বার সাথে যুক্ত করে, এবং পরে কোড হিসাবে চালায়, ফলস্বরূপ অ্যারেতে সমস্ত উপাদানগুলির বিয়োগ।
let f=
//.!v+u;$I^@O<.Iu
a=>eval(a.join`-`)
console.log(f([1,2,3,4,5]))
console.log(f([3,1,4,1,5]))
Cubix
কিউবিক্স নিম্নলিখিত কিউবটি দেখুন (লক্ষ্য করুন যে কিউবিক্স সমস্ত সাদা স্থান উপেক্ষা করে):
/ / .
! v +
u ; $
I ^ @ O < . I u a = > e
v a l ( a . j o i n ` -
` ) . . . . . . . . . .
. . .
. . .
. . .
শুরুতে
পূর্ব দিকে নির্দেশ করে তৃতীয় লাইনে আইপি শুরু হয়। এটি হিট'I'
কমান্ডটি যা ইনপুট থেকে একটি সংখ্যা নেয় এবং স্ট্যাকের দিকে ধাক্কা দেয়। তারপরে, এটি '^'
যোগফলের মধ্যে পুনঃনির্দেশিত হয় ।
যোগফল-লুপ
আমি যোগফলের অংশ নয় এমন সমস্ত অক্ষর সরিয়েছি এবং এগুলি কোনও অপ্স ( '.'
) দ্বারা প্রতিস্থাপন করেছি । আইপি প্রথম দিকে দ্বিতীয় লাইনে পৌঁছে পূর্ব দিকে নির্দেশ করে।
. . .
! v +
u ; $
. . . . . . I u . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . .
. . .
. . .
প্রথমে '!'
কমান্ড শীর্ষ উপাদানটি পরীক্ষা করে। যদি এটি হয় 0
(যেমন আমরা ইনপুটটির শেষে পৌঁছেছি), পরবর্তী নির্দেশ ( 'v'
) কার্যকর করা হবে, লুপের বাইরে আইপি প্রতিফলিত করে। যদি আমরা এখনও ইনপুটটির শেষে পৌঁছায় না, তবে আমরা শীর্ষ দুটি আইটেম একসাথে যুক্ত করব ( '+'
দ্বিতীয় আইটেমটি সেই বিন্দু পর্যন্ত যোগফল, শীর্ষ আইটেমটি নতুন ইনপুট)। তারপরে, আইপি ঘনক্ষেত্রের অন্য মুখের সাথে 'u'
অক্ষরে আবৃত হয় , যার ফলে আইপিটি একটি ইউ-টার্ন তৈরি করে এবং একটি 'I'
কমান্ড চালায় (অন্য একটি ইনপুট পূর্ণসংখ্যা পড়ুন), যখন উত্তরটি নির্দেশ করে। আইপি শীর্ষ মুখের পিছনে আবৃত হয়, এড়িয়ে যায় ('$'
হয়, মুছে ফেলা ( ';'
) মুছে ফেলা নির্দেশ ( ) এবং আমরা যে বিন্দুতে শুরু করেছি সেখানে ফিরে এসে অন্য একটি ইউ-টার্ন তৈরি করে।
শেষ
যদি লুপের বাইরে আইপি প্রতিবিম্বিত হয় তবে নিম্নলিখিত অক্ষরগুলি কার্যকর করা হয়:
. . .
. v .
. ; .
. . @ O < . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . .
. . .
. . .
এই নির্দেশাবলী শীর্ষ উপাদান (যা শূন্য) মুছে ফেলে এবং তারপরে উপরের উপাদানটিকে (যোগফল) একটি পূর্ণসংখ্যা হিসাবে আউটপুট দেয়। তারপর '@'
কমান্ড উপনিত, তাই প্রোগ্রাম শেষ।