নামবিহীন উপসর্গ লাম্বদা। একটি প্রোগ্রামের বডি ফেরত দেয়।
{
1=≢⍵:⍕⍵ ⍝ single element
(2=≢⍵)∧(⍵[2]=11×⍵[1]):⍕⍵[1] ⍝ 2, 22 etc.
1=≢∪⍵:'⊢',⍕⊃⍵ ⍝ all the same
(⊢≡⊃×⍳∘≢)⍵:'+',⍕⊃⍵ ⍝ linear
((⌊=⊢)!⍣¯1⊢⊃⍵)∧(1∧.=1↓⍵):'!',⍕!⍣¯1⊃⍵ ⍝ factorial followed by all 1s
(⍵[2]∧.=1↓⍵)∧(⍵[1]=10|2⊃⍵):(⍕⊃⍵),'⌈',(⊃⍕2⊃⍵) ⍝ b ab ab ab
e←{∊⍉2 2⍴'+×',⍕¨⍵}¨⍸(⊃⍵)=∘.×⍨⍳10
b←⍵∘≡¨e(({0::⍬ ⋄ ⍎⍵}¨,\)⍴∘⊂)¨⍨(≢⍵)
∨/b:⊃b/e
Q←{'''',⍨⍵/⍨1+''''=⍵}
(5∧.≤⍵)∧(≢⍕⍵)>6+(+/14=⍵)+≢⍵:'{⍺←⎕AV⍳⊃⋄1⌽⍺⊢⍵}''',Q ⎕AV[⍵] ⍝ string fallback
(≢⍕⍵)>9+(+/5=⍵)+≢⍵:'{⍺←¯4+⎕AV⍳⊃⋄1⌽⍺⊢⍵}''',Q ⎕AV[4+⍵] ⍝ offset string fallback
'{⍺←⊃⋄1⌽⍺⊢⍵}',⍕⍵ ⍝ fallback
}
এটি অনলাইন চেষ্টা করুন!
পদ্ধতি
এটি বিভিন্ন পদ্ধতি অন্বেষণ করে এবং সর্বশেষে সর্বজনীন প্রয়োগযোগ্য পদ্ধতিতে ফিরে আসার পরে প্রথম ব্যবহারযোগ্য একটিকে ফেরত দেয়।
একক উপাদান
তালিকার যদি একটি মাত্র উপাদান থাকে তবে তা যেমন হয় তেমন ফেরত দেওয়া হয়।
2, 22 ইত্যাদি
11 গুণ বড় সংখ্যাটি তৈরি করতে কেবল একটি একক সংখ্যা পুনরাবৃত্তি করা যেতে পারে,
একই
আমরা কেবল সর্বমোট ( ⊢
) নম্বরটি ফিরিয়ে দিই ।
রৈখিক
f (n) = k × n সিকোয়েন্স প্রথম টার্মের আগে একটি প্লাস .োকান।
ফ্যাক্টরিয়াল সমস্ত 1s এর পরে
যখন প্রথম সংখ্যা এন =! মি এবং পরবর্তী সংখ্যাগুলি 1 হয়, তখন !m
সমাধান হয় কারণ !m
এন হয় এবং m!m
1 হয় এবং !1
1 হয়।
বি আব আব আব
যেহেতু সমস্ত দ্বি-সংখ্যার সংখ্যা সমস্ত একক-সংখ্যার চেয়ে বড়, একটি চলমান সর্বাধিক, যেখানে প্রথম সংখ্যার সামনের অংশটি দ্বিতীয় সংখ্যার পিছনে আঠালো থাকে, এটি একটি সমাধান।
তিন লাইন কোড
ধরণের কোনও সূত্র +a×b
বৈধ কিনা তা পরীক্ষা করে দেখুন ।
স্ট্রিং ফ্যালব্যাক
5 বছরের কম বয়সী সংখ্যাগুলির দীর্ঘ সিকোয়েন্সগুলি (কারণ 4 টি একটি লাইন ব্রেক) এসবিসিএসের অক্ষর হিসাবে এনকোড করা যেতে পারে।
অফসেট স্ট্রিং ফ্যালব্যাক
যদি 5 বছরের কম বয়সী সংখ্যা থাকে তবে এগুলি এড়াতে আমরা 9 দ্বারা স্থানান্তরিত করব।
পিছু হট
স্ট্রিং "{⍺←⊃⋄1⌽⍺⊢⍵}"
এবং স্ট্রিংযুক্ত ( ⍕
) ইনপুটটির সরল স্ট্রিং সংক্ষিপ্তকরণ । উদাহরণস্বরূপ [3,1,4]
প্রোগ্রামের মূল অংশটি ফেরত দেয় {⍺←⊃⋄1⌽⍺⊢⍵}3 1 4
।
ধনুর্বন্ধনী অংশটি একটি দ্বিধাবিভক্ত ফাংশন যার অর্থ এটি কোনও উপসর্গ ফাংশন বা ইনফিক্স ফাংশন হতে পারে। সুতরাং এর বামতম উদাহরণটি উপসর্গ মোডে এবং ইনফিক্স মোডে সমস্ত অন্যান্য চলবে। মোডের মধ্যে পার্থক্যটি হ'ল ⍺
, বাম আর্গুমেন্টকে নির্দেশ করে কিনা এর একটি মান আছে। যদি এটি না হয় তবে এটি ফাংশনটি নির্ধারিত হবে ⊃
(প্রথম)।
ফ্যালব্যাক পদ্ধতির ব্যাখ্যা
{
... }
নামবিহীন ল্যাম্বদা:
⍺←⊃
যদি কোন বাম যুক্তি না থাকে ( ⍺
) ⊃
প্রথমে ফাংশনটি বরাদ্দ করুন⍺
⋄
তারপর:
এই মুহুর্তে, নীচের ⍺
কোডটির অর্থ সংখ্যার তালিকা (ইনফিক্স কল) বা ফাংশন "প্রথম" (উপসর্গ কল) হয় কিনা তার উপর নির্ভর করে দুটি ভিন্ন জিনিস means
যদি ⍺
সংখ্যার একটি তালিকা হয়:
⍺⊢⍵
ডান যুক্তির পক্ষে বাম যুক্তিটি বাতিল করুন
1⌽
যে এক ধাপ বাম দিকে ঘোরান
যদি ⍺
"প্রথম" ফাংশনটি হয়:
⊢⍵
সঠিক যুক্তি উপস্থাপন
⍺
এর প্রথম উপাদানটি বেছে নিন
1⌽
এটিকে এক ধাপ ঘোরান (কোনও স্কেলারের কোনও বিকল্প নেই)
ফ্যালব্যাক পদ্ধতির উদাহরণ রান
3 1 4
এর কোডটি কার্যকর করা {⍺←⊃⋄1⌽⍺⊢⍵}3 1 4
, "প্রথম" ফাংশনটি বরাদ্দ করে ⍺
এবং এভাবে প্রথম উপাদানটি প্রদান করে; 3
।
এক্সিকিউট করা {⍺←⊃⋄1⌽⍺⊢⍵}3 1 4{⍺←⊃⋄1⌽⍺⊢⍵}3 1 4
ডানদিকের ল্যাম্বডাকে বাম দিকটিকে 3 1 4
তার বাম আর্গুমেন্ট হিসাবে "ক্যাপচার" করতে দেয় , সুতরাং ⍺
একটি মান রয়েছে যা তার পক্ষে বাতিল করা হয় 3 1 4
যার পরে একটি পদক্ষেপ বাম দিকে ঘোরা হয় 1 4 3
এবং ফলস্বরূপ ফলন দেয় । এরপরে এটি বাম দিকের ল্যাম্বডায় একমাত্র যুক্তি হিসাবে ব্যবহৃত হয়, যেখানে ⍺
"প্রথম" ফাংশন হয়ে যায়, ফলাফলটি প্রথম উপাদান হিসাবে নিয়ে আসে; 1
।
এক্সিকিউটিং {⍺←⊃⋄1⌽⍺⊢⍵}3 1 4{⍺←⊃⋄1⌽⍺⊢⍵}3 1 4{⍺←⊃⋄1⌽⍺⊢⍵}3 1 4
ডানদিকের ল্যাম্বডাকে মাঝেরটিকে 3 1 4
তার বাম আর্গুমেন্ট হিসাবে "ক্যাপচার" করতে দেয় যা ডান আর্গুমেন্টের পক্ষে ফেলে দেওয়া হয় 3 1 4
, যা যখন এক ধাপ বাম দিকে ঘোরা হয় 1 4 3
। এরপরে এটি মাঝের ল্যাম্বদার ডান যুক্তি হিসাবে একসাথে 3 1 4
বাম দিকের যুক্তি হিসাবে ব্যবহৃত হয়। বাম আর্গুমেন্টটি ডান জন্য বাতিল করা হয়, যা এক ধাপে বাম ফলন ঘোরায় 4 3 1
। এটি তখন বামতম বাঁদিকের একমাত্র যুক্তি ⍺
হয়ে ওঠে , সুতরাং "প্রথম ফাংশন" হয়ে ওঠে, প্রথম উপাদানটি ফিরে আসে; 4
।
স্কোরিং
যখন সত্যিকারের ডেটা ব্যবহার করে পরীক্ষার সময় হয়ে যায়, তখন এই পরীক্ষার জোতাটি ব্যবহার করুন (প্রিটেস্ট ডেটা দিয়ে সংযুক্ত জনসংযোগ)। পরীক্ষার কেসগুলি ইনপুট ক্ষেত্রে যায় এবং আউটপুট একসাথে সমস্ত 500 টি প্রোগ্রামের মোট বাইট গণনা হবে। (এটি একটি ত্রুটিও ফেলে দেবে, তবে এটি কেবল কারণ এটি পরে ইনপুটটিকে যেমন আছে তেমনি মূল্যায়ন করার চেষ্টা করে))