জাভাস্ক্রিপ্ট, 66 65 62 60 বাইট
স্ট্রিং হিসাবে ইনপুট নেয়, trueঅপ্রাকলিত সংখ্যার জন্য প্রত্যাবর্তন করে , একক অঙ্কের জন্য একটি খালি স্ট্রিং (মিথ্যা) এবং falseঅন্যথায়।
([s,...a])=>a+a&&a.every(x=>eval(s+"<>"[++y%2]+x,s=x),y=s<a)
চেষ্টা করে দেখুন
নীচের স্নিপেটটি পরীক্ষা করতে 0-9এবং 25 টি এলোমেলো সংখ্যা চালান <10,000,000।
f=
([s,...a])=>a+a&&a.every(x=>eval(s+"<>"[++y%2]+x,s=x),y=s<a)
tests=new Set([...Array(10).keys()])
while(tests.add(Math.random()*1e7|0).size<35);
o.innerText=[...tests].map(x=>(x=x+``).padStart(7)+` = `+JSON.stringify(f(x))).join`\n`
<pre id=o></pre>
ব্যাখ্যা
এটির মধ্যে কয়েকটি মজার ছোট কৌশল যাতে আমি মনে করি এটি আমার কাছ থেকে জেএস সমাধানের বিরল ব্যাখ্যা দেয় war
()=>
আমরা সহজভাবে একটি বেনামে ফাংশন দিয়ে শুরু করি যা ডাকে যখন আর্গুমেন্ট হিসাবে পূর্ণসংখ্যার স্ট্রিং নেয়।
[s,...a]
যে যুক্তি অবিলম্বে 2 পরামিতি মধ্যে destructured হয়: sস্ট্রিং প্রথম অক্ষরটি হচ্ছে এবং aঅক্ষর বাকি ধারণকারী একটি অ্যারের হচ্ছে (যেমন "461902"হয়ে s="4"এবং a=["6","1","9","0","2"])।
a+a&&
প্রথমত, আমরা aনিজের সাথে একত্রীকরণ করি যা উভয় ঘটনাকে স্ট্রিংয়ে ফেলে। যদি ইনপুটটি কোনও একক সংখ্যার হয় তবে aখালি হবে এবং অতএব, খালি স্ট্রিং হয়ে যাবে; একটি খালি স্ট্রিং প্লাস একটি খালি স্ট্রিংটি এখনও একটি খালি স্ট্রিং এবং এটি জেএসে মিথ্যা বলেই, আমরা লজিক্যাল এন্ড এবং আমাদের খালি স্ট্রিংটিকে আউটপুট দেয়। অন্যান্য সমস্ত ক্ষেত্রে a+aসত্যবাদী হবে এবং তাই আমরা ফাংশনের পরবর্তী অংশে চালিয়ে যাচ্ছি।
a.every(x=>)
যদি প্রত্যেক উপাদান আমরা চেক করব xমধ্যে aআয় trueযখন একটি ফাংশন মাধ্যমে গৃহীত।
y=s<a
এটি নির্ধারণ করে যে আমাদের প্রথম তুলনাটি কী হবে ( <বা >) এবং তারপরে আমরা সেখান থেকে বিকল্প করব। আমরা যাচাই করে স্ট্রিং sঅ্যারে চেয়ে কম হয় a, যা প্রক্রিয়ায় একটি স্ট্রিং কাস্ট পরার যদি sপ্রথম অক্ষরের চেয়ে কম হয় a, yহতে হবে trueবা falseযদি এটা না।
s+"<>"[++y%2]+x
আমরা sশুরুতে এবং xশেষে বর্তমান মান সহ একটি স্ট্রিং তৈরি করি । মধ্যে সালে স্ট্রিং মধ্যে আমরা সূচক "<>"বৃদ্ধিশীল দ্বারা y, 2 দ্বারা একটি পূর্ণসংখ্যা, এবং মডিউল তার প্রাথমিক বুলিয়ান মান ভোটদান, আমাদের দান 0বা 1।
eval()
স্ট্রালটি সমান করুন।
s=x
অবশেষে, আমরা একটি দ্বিতীয় যুক্তি পাস করি evalযা এটি উপেক্ষা করে এবং পরবর্তী পুনরাবৃত্তির জন্য sবর্তমান মানটির মান সেট করতে এটি ব্যবহার করি x।