জে, 21 14 বাইট
মাইল এবং (অপ্রত্যক্ষভাবে) জনাথনকে 7 বাইট সংরক্ষণ করা!
{.@/:#@":"0,.-
এটি একটি চার চেইন:
{.@/: (#@":"0 ,. -)
আসুন ইনপুট উপর দিয়ে চলুন 10 27 232 1000। অভ্যন্তরের কাঁটাচামচটিতে তিনটি টাইন থাকে। #@":"0আকারগুলি গণনা করে, ,.প্রতিটি প্রত্যাশাকে এর উপেক্ষিত ( -) সদস্যের সাথে মিলিত করে । ইনপুট জন্য 10 27 232 1000, আমরা এই বাকি আছে:
(#@":"0 ,. -) 10 27 232 1000
2 _10
2 _27
3 _232
4 _1000
এখন, আমরা {.@/:বাইরের টাইন হিসাবে আছে । এটি {.ডায়াডিক সাজ্ট ( ) এর উপরে একাকী প্রথম ( /:)। এটি হ'ল আমরা ডায়াডিকের ফলাফলের প্রথম উপাদানটি গ্রহণ করব /:। এটি তার বাম যুক্তি অনুসারে তার ডান যুক্তিটি সাজায়, যা আমাদের ইনপুট দেওয়ার জন্য দেয়:
(/: #@":"0 ,. -) 10 27 232 1000
27 10 232 1000
তারপরে, {.ব্যবহারটি আমাদের তালিকার প্রথম উপাদানটি দেয় এবং আমাদের কাজ শেষ হয়:
({.@/: #@":"0 ,. -) 10 27 232 1000
27
পুরনো সংস্করণ
>./@(#~]=<./@])#@":"0
এখনও উন্নতি নিয়ে কাজ করছি। আমি এটিকে 30 থেকে নামিয়ে দিয়েছি এবং আমার মনে হয় এটি যথেষ্ট ভাল। আমি প্রথমে এটি বেসিক অংশগুলিতে বিভক্ত করতে যাচ্ছি:
size =: #@":"0
max =: >./
min =: <./
over =: @
right =: ]
left =: [
selectMin =: #~ right = min over right
f =: max over selectMin size
f 3 4 5
5
f 3 4 53
4
f 343 42 53
53
এটি কীভাবে কাজ করে তা এখানে।
>./@(#~ ] = <./@]) #@":"0
এটি একটি মোনাডিক ট্রেন, তবে এই অংশটি হুক। ক্রিয়াটি >./@(#~ ] = <./@])বাম আর্গুমেন্টকে মূল শৃঙ্খলে এবং আকারগুলির ইনপুট হিসাবে ডাকা হয়, ডান আর্গুমেন্ট হিসাবে হিসাবে সংজ্ঞায়িত করা হয় #@":"0। এটি দৈর্ঘ্য ( #) ওভার ( @) ডিফল্ট ফর্ম্যাট ( ":) হিসাবে গণনা করা হয়, যা সংখ্যার স্ট্রিংফিকেশন, যা ইনপুট ( "0) এর সদস্যদের 0-কোষের জন্য প্রয়োগ করা হয় ।
আসুন উদাহরণ ইনপুট উপর দিয়ে চলুন 409 12 13।
(#@":"0) 409 12 13
3 2 2
এখন অভ্যন্তরীণ ক্রিয়া জন্য >./@(#~ ] = <./@]),। দেখে মনে হচ্ছে >./@(...), যা কার্যকরভাবে এর ভিতরে থাকা ( >./) এর সর্বাধিক মান ( ) বোঝায় । অভ্যন্তরীণ হিসাবে, এটি একটি পাঁচ ট্রেন, এই পাঁচটি ট্রেনের সমতুল্য:@(...)
[ #~ ] = <./@]
[মূল আর্গুমেন্ট ]বোঝায় , এবং আকার অ্যারে বোঝায়; 409 12 13এবং 3 2 2যথাক্রমে এই উদাহরণে। ডান টাইন, এই ক্ষেত্রে <./@]ন্যূনতম আকারের গণনা করে 2। ] = <./@]এক্ষেত্রে সর্বনিম্নের সমান মানের বুলিয়ান অ্যারে 0 1 1। অবশেষে, [ #~ ...ডান-আর্গুমেন্ট মাস্ক অনুসারে বাম আর্গুমেন্ট থেকে মানগুলি নেয়। এর অর্থ হ'ল এর সাথে সম্পর্কিত উপাদানগুলি 0বাদ এবং 1ধরে রাখা হয়। সুতরাং আমরা বাকি আছে 12 13। পরিশেষে, উপরের অনুসারে সর্বোচ্চটি নেওয়া হয়, আমাদের সঠিক ফলাফল দেয় 13এবং আমরা সম্পন্ন হয়ে যাই।