जेली , 47 पूर्णांक, 519 बाइट्स
e
BI$⁼#
⁾⁾⁾Ụ^/
ı***ıḞḞ
5
6
7
.::::
9
EȮ<
⁻GṘ
=`p`VV×`DQV
~A~A~A~A~A~A~A~A~A~A~A~A~A
⁷ṾṾṾw
⁴ḟ€⁴Ṁ
mmmmċ
ṭṭṭṭṭṭṭṭḍḄḄḄḄḄḄḄḄḄ
+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ
CNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNC
ĖḌĖḌ
ṫṣȦJṫȦ⁸ȦJ
22
“@ṃ»
!ḤḤ!
³HH
ØaM
;;;;;;;;;;;;;;;;;;;;;;;;;;;¬¬ḅ¬
irið8c
⁶ḲĠṂ°İṂĊ
œṡ¹ẆẆTUṖṖṖṖP
ȷ½RṪ
LµdddddµFL
33
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWŒḊ
ẇɓæ«æ«æ«æ«æ«|æ«|
⁹ṚḢ²
‘‘‘0‘‘‘‘‘‘‘
’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ạ
-____---__________
”(O
⁵ḶxḶ⁵ị⁵ḶxḶḣṢ
⁽{ʂ%⁽{}
ẊẠżv©żvżvżvọ®®Ạżvżvżvọ®
44
111111l11&K1111111Kl11&
,SS¶ỊỊ,ÇS¶ÇÑÇÇÇÑ
ÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆn
हर पंक्ति एक अलग, पूर्ण कार्यक्रम है।
इसे ऑनलाइन आज़माएं! (परीक्षण सूट और चौराहे चेकर शामिल हैं)
यह काम किस प्रकार करता है
कमांड लाइन के तर्कों के बिना हर पूरा कार्यक्रम अपने मुख्य लिंक (अंतिम पंक्ति पर परिभाषित) को बिना किसी इनपुट के, अर्थात्, अनैतिक रूप से निष्पादित करता है। यदि श्रृंखला में पहला लिंक एक निलाद है, तो इसका सेवन किया जाता है, कहा जाता है, और दोनों मुख्य लिंक के तर्क और वापसी मूल्य परिणाम पर सेट होते हैं; यदि श्रृंखला में पहला लिंक एक मोनाड या डियाड है, तो इसका उपभोग नहीं किया जाता है और इसके बदले निहित तर्क और वापसी मान 0 का उपयोग किया जाता है। दोनों ही मामलों में, श्रृंखला के शेष भाग को मौद्रिक रूप से निष्पादित किया जाता है।
जेली कई मामलों में अपने उत्पादन का प्रबंधन करती है। विशेष रूप से, एक एकल सरणी अपने आसपास के कोष्ठक के बिना मुद्रित होती है, इसलिए 42 और [42] और मुद्रण के बाद अप्रभेद्य। हम कई मौकों पर इसका इस्तेमाल करेंगे।
1 - 10
e
मौजूद परमाणु परीक्षण करता है, तो वापसी मान 0 तर्क के अंतर्गत आता है 0 । यह करता है, इसलिए 1e
लौटाता है ।
BI$⁼#
BI$
एक क्विकलिंक है, विशेष रूप $
से द्विआधारी परमाणु B
और इंक्रीमेंट परमाणु के त्वरित समूह द्वारा बनाई गई एक मौद्रिक श्रृंखला है I
। संयुक्त, वे एक पूर्णांक को आधार 2 में अपने अंकों की सरणी में परिवर्तित करते हैं, फिर परिणामी अंकों के आगे के अंतरों की गणना करते हैं। यदि सरणी में केवल एक तत्व है, तो कोई फ़र्क नहीं है और I
खाली सरणी (मिथ्या) लौटाता है; यदि कम से कम दो अंक हैं, तो I
एक गैर-खाली सरणी (सत्य) देता है।
त्वरित #
पिछले क्विकलिंक का उपभोग करता है और इसे 0 , 1, 2,… तक लागू करता है जब तक कि पर्याप्त मैचों को रिटर्न नहीं मिलता है, मैचों की सरणी देता है। आवश्यक राशि की गणना की जाती है ⁼
, जो कि रिटर्न वैल्यू / तर्क 0 से खुद की तुलना करता है, उपज 1 । इस प्रकार, पूरा कार्यक्रम वापस आ जाता है [2] , आधार 2 में दो अंकों के साथ पहला गैर-नकारात्मक पूर्णांक।
⁾⁾⁾Ụ^/
⁾⁾⁾
एक स्ट्रिंग शाब्दिक, विशेष रूप से स्ट्रिंग है ⁾⁾ । ग्रेड ऊपर परमाणु Ụ
उनके संबंधित मान द्वारा अपने सूचकांक क्रमबद्ध करता; चूँकि दोनों वर्ण समान हैं, इसलिए इसकी पैदावार [1, 2] है । परिणामी सरणी बिटवाइज़ एक्सओआर के साथ कम हो जाती है ^/
, इसलिए पूरा कार्यक्रम 3 रिटर्न करता है ।
ı***ıḞḞ
ı
आरंभिक तर्क और वापसी मूल्य को काल्पनिक इकाई i । *
है घातांक युग्म, जिसका सही तर्क मुख्य कड़ी के तर्क को चूक। इस प्रकार, ***ı
computes ((मैं मैं ) मैं ) मैं ≈ 4.81 + 0i , Ḟ
परमाणु ( मंजिल असली तर्क, के लिए वास्तविक हिस्सा जटिल लोगों के लिए) असली हिस्सा (गणना करता है 4.81 ), तो Ḟ
फर्श, उपज 4 ।
5
6
7
इन तीन कार्यक्रमों में एक एकल शाब्दिक शामिल है और आप जो अपेक्षा करते हैं, वही करते हैं।
.::::
शाब्दिक 0.5 के.
लिए एक शॉर्टहैंड है और तर्क और वापसी मूल्य को इनिशियलाइज़ करता है। पूर्णांक विभाजन युग्म के ( ) मुख्य लिंक तर्क को सही तर्क चूक है, तो गणना करता है 0.5 / 0.5 / 0.5 / 0.5 / 0.5 , उपज 8 ।:
::::
9
एक और शाब्दिक।
EȮ<
सभी को समान परमाणु E
रिटर्न 1 अगर इसके तर्क में सभी तत्वों के बराबर हैं, और 0 नहीं तो। एक पूर्णांक तर्क z को [z] प्रचारित किया जाता है , इसलिए निहित तर्क 0 के लिए 1E
वापस आ जाएगा ।
अब, आउटपुट परमाणु 1 से STDOUT को Ȯ
प्रिंट करता है । हम फिर 1 की तुलना में निहित तर्क 0 के साथ परमाणु की तुलना में कम का उपयोग करते हैं । परिणाम (1 <0) = 0 है , और जब कार्यक्रम समाप्त होता है, तो इसे स्पष्ट रूप से मुद्रित किया जाता है।<
11 - 20
⁻GṘ
ग्रिड परमाणु G
अपने तर्क से एक नेत्रहीन मनभावन तालिका बनाने के लिए कोशिश करता है। एक सादे पूर्णांक तर्क के लिए (यहाँ: 0 ), यह बस इसे एक सरणी में लपेटता है। फ्लैट नहीं-बराबर परमाणु ⁻
अंतर्निहित तर्क तुलना 0 सही (करने के लिए परिणाम के साथ [0] ), उपज 1 के बाद से अपने तर्कों बराबर नहीं हैं। प्रतिनिधित्व परमाणु Ṙ
प्रिंट 1 STDOUT करने के लिए और इसके परिणाम देता है। कार्यक्रम के अंत में, अंतिम रिटर्न मान को स्पष्ट रूप से मुद्रित किया जाता है, इसलिए हम 11 के आउटपुट के साथ समाप्त होते हैं ।
=`p`VV×`DQV
स्वयं त्वरित `
समान छोड़ दिया और सही तर्क के साथ यह फोन करके एक इकाई में एक युग्म बदल जाता है। सबसे पहले, =`
निहित तर्क 0 की तुलना अपने आप से, उपज 1 ।
कार्तीय उत्पाद परमाणु p
अपने तर्कों के रूप में सूचियों की उम्मीद है, तो यह पूर्णांक को बढ़ावा देता है 1 करने के लिए रेंज [1, ..., 1] = [1] । p`
कार्टेजियन उत्पाद [1] और स्वयं, उपज [[1, 1]] लेता है ।
Eval परमाणु V
, सभी फ्लैट सरणियों तार में (केवल नंबर और वर्ण से युक्त) बदल जाता है तो niladic जेली कार्यक्रमों के रूप में जिसके परिणामस्वरूप तार मूल्यांकन करता है। [[१, १]] को पहले [११] में बदल दिया जाता है , फिर V
स्ट्रिंग को निकालते हुए, [११] पैदावार दी जाती है । एक बार और, V
इस सरणी को "11" में बदल देता है , और फिर इसे 11 उपज देता है ।
अब, अपने आप से 11×`
गुणा , 121 की उपज । दशमलव परमाणु बदल जाता है 121 में [1, 2, 1] , अद्वितीय परमाणु को छोड़ देता है दूसरा 1 , और एक बार फिर पूर्णांक है कि, उन्हें श्रृंखलाबद्ध लौटने से परिणाम में अंक की एक सूची बदल जाता है 12 ।Q
V
~A~A~A~A~A~A~A~A~A~A~A~A~A
~
है बिटवाइज़ नहीं परमाणु। दो पूरक अंकगणित के साथ, यह एक तर्क z को ~ z = - (z + 1) में मैप करता है । A
है निरपेक्ष मूल्य परमाणु, तो यह नक्शे - (z + 1) = z + 1 । प्रारंभिक वापसी मान 0 के साथ , ~A
वापसी 13 की तेरह प्रतियां ।
⁷ṾṾṾw
स्थिरांक ⁷
newline वर्ण '\ n' रखता है और तर्क और रिटर्न वैल्यू को इनिशियलाइज़ करता है।
Uneval परमाणु Ṿ
अपने तर्क के एक स्ट्रिंग प्रतिनिधित्व बनाने का प्रयास करता z ऐसी है कि एक जेली इस कोड से मिलकर कार्यक्रम वापसी होगी जेड ।
पहला कॉल कर्तव्यपरायणता से स्ट्रिंग "" \ n "" लौटाता है , जो एक अक्षर शाब्दिक है। अगला कॉल "" "," \ n "देता है - चरित्र शाब्दिकों की एक जोड़ी। तीसरा और अंतिम कॉल "" "," ",", ",", "\ n" - वर्ण शाब्दिक का एक क्विंटअपलेट है।
अंत में, खिड़की सूचकांक परमाणु w
इसकी सही तर्क को बढ़ावा देता है '\ n' स्ट्रिंग के लिए "\ n" और सबस्ट्रिंग के साथ शुरू के पहले सूचकांक लगता है "\ n" । यह 14 देता है ।
⁴ḟ€⁴Ṁ
⁴
लगातार 16 है । क्विकलिंक फ़िल्टरफ़्लैस प्रत्येक ( ḟ€
) अपने बाएं तर्क 16 को रेंज [1,… 16 , ] तक बढ़ावा देता है , फिर अपने तत्वों पर निर्भर करता है।
प्रत्येक तत्व z के लिए , ḟ⁴
निष्पादित किया जाता है, पहले z [z] को बढ़ावा देता है , फिर सभी (यदि कोई है) 16 को हटाता है । यह सरणी [[1], [2],…, [14], [15], []] को जन्म देता है , जहां अंतिम सरणी खाली है क्योंकि इसमें 16 शामिल हैं ।
अंत में, अधिकतम परमाणु [15]Ṁ
का चयन करता है ।
mmmmċ
मॉड्यूलर परमाणु m
- साथ बहस बुलाया एक्स (सरणी) और y (पूर्णांक) आम तौर पर हर लेता है y | | वें के तत्व एक्स पहले अगर साथ शुरू, y> 0 , पिछले अगर साथ y <0 । हालांकि, जब y = 0 होता है , तो यह एक्स को अपने रिवर्स के साथ वापस लौटता है ।
बाएं पूर्णांक तर्क 0 को पहले [0] में पदोन्नत किया गया है । m
कॉकटेलेट्स की पहली प्रति [0] अपने आप से, उपज [0, 0] । शेष प्रतियाँ इस परिणाम को [0, 0, 0, 0] में बदल देती हैं , फिर [0, 0, 0, 0, 0, 0, 0] , और अंत में [0, 0, 0, 0, 0] , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ।
अंत में, गिनती परमाणु 16 बार लौटते हुए परिणामित सारणी में ċ
अनुमानित तर्क 0 की संख्या को गिनता है ।
ṭṭṭṭṭṭṭṭḍḄḄḄḄḄḄḄḄḄ
ṭ
यह सौदा परमाणु है और इसके बाएं तर्क को इसके दाईं ओर जोड़ता है। के बाद से ṭ
और निम्नलिखित ḍ
dyadic कर रहे हैं, सभी के लिए कॉल ṭ
अंतर्निहित तर्क पारित 0 सही तर्क के रूप में ṭ
। पहला कॉल रिटर्न देता है [0, 0] , दूसरा [0, [0, 0] , और आठवां और अंतिम [0, [0, [0, [0, [0, [0, [0,] 0, [0] ०]]]]]]]] ।
ḍ
है विभाज्यता परमाणु; तर्क x और y के लिए , यह रिटर्न 1 है x x से विभाज्य है y , 0 नहीं तो। Ḅ
पूर्णांक के लिए कोई ऑप नहीं है, इसलिए निर्मित सरणी में प्रत्येक पूर्णांक द्वारा विभाज्यता के लिए 0 काḍḄ
परीक्षण करता है । 0 अपने आप से विभाज्य है, इसलिए हमें [1, [1, [1, [1, [1, [1, [1, [1, 1]]]]]]]]]] हैं ।
अब, असंबद्ध परमाणु Ḅ
फ्लैट सरणियों पर संचालित होता है । एक जोड़ी [ए, बी] के लिए , यह केवल 2 ए + बी देता है । जैसा कि पहले उल्लेख किया गया है, Ḅ
पूर्णांक के लिए एक नो-ऑप है: एक पूर्णांक तर्क c [c] में पदोन्नत किया गया है , और किसी भी आधार में [c] बस c है ।
पहली कॉल को Ḅ
कम करने के लिए [1, 1] से 3 , इस प्रकार उपज [1, [1, [1, [1, [1, [1, [1, [1, 3]]]]]]] । अगली कॉल [१, ३] को घटाकर ५ , अगले एक [१, ५] से 1 , और नौवें Ḅ
रिटर्न १ 1 तक आने वाली है ।
+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ
Ṇ
है फ्लैट तार्किक नहीं परमाणु और नक्शे अंतर्निहित तर्क 0 करने के लिए 1 । +
इसके अलावा परमाणु है, इसलिए +Ṇ
पिछले वापसी मूल्य (शुरू में 0 ) वेतन वृद्धि की अठारह प्रतियों में से प्रत्येक । इस प्रकार पूरा कार्यक्रम 18 को लौटता है ।
CNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNC
C
है पूरक परमाणु और उसके तर्क नक्शे z करने के लिए 1-z । N
है निगेट परमाणु और नक्शे अपने तर्क जेड को -z । साथ में, CN
नक्शे z से - (1-z) = z-1 हैं , इसलिए अठारह प्रतियां निहित तर्क 0 -18 में बदल जाती हैं । C
पैदावार का एक अंतिम आवेदन 1 - (-18) = 19
।
ĖḌĖḌ
गणना परमाणु Ė
एक सरणी में आइटम विश्लेषण करता है, सूचकांक और मान के जोड़े का निर्माण। निहित तर्क 0 को [0] में पदोन्नत किया जाता है , फिर Ė
पैदावार [[1, 0]] की जाती है । Undecimal परमाणु आधार 10 से एक फ्लैट सरणी पूर्णांक में बदलता है, उपज [10] इस विशेष मामले में।
करने के लिए दूसरी कॉल Ė
रूपांतरण [10] में [[1, 10]] , दूसरा जो Ḍ
अंत में में परिवर्तित हो [20] ।
21 - 30
ṫṣȦJṫȦ⁸ȦJ
पूंछ परमाणु ṫ
(एक दो का समूह) ने अपनी बाईं तर्क के पोस्टफ़िक्स कि सूचकांक पर शुरू होता है का चयन (1-आधारित और मॉड्यूलर) अपने अधिकार का तर्क में निर्दिष्ट, एक बाएं पूर्णांक तर्क को बढ़ावा देने एक्स के लिए [x] । जब दोनों तर्कों के साथ 0 पर सेट किया जाता है , तो ṫ
रिटर्न [0] ।
किसी भी और सभी परमाणु Ȧ
रिटर्न 1 अगर इसके तर्क truthy है और किसी भी गहराई, में कोई शून्य होता है 0 अन्यथा। यहाँ, हम इसका उपयोग एक पहचान फ़ंक्शन के रूप में निहित तर्क 0 को वापस करने के लिए करते हैं । पर विभाजन परमाणु ṣ
अपनी बाईं तर्क विभाजित कर [0] अपने अधिकार तर्क की घटनाओं पर 0 , तो यह रिटर्न [[] [],] यहाँ।
सूचकांक परमाणु J
वापसी मान के तत्वों को छोड़ देता है और उन्हें अपने सूचकांक के साथ बदलता है, उपज रेंज [, 2 1] इस विशिष्ट मामले में। Ȧ
और ṫ
दोनों पहले की तरह काम करते हैं, इसलिए वे [1, 2] को कम करते हुए पोस्टफिक्स को अंतिम सूचकांक में शुरू करते हैं, [2] ।
निलादिक लिंक में, स्थिरांक []⁸
रखता है । यह एक अप्राप्य निलाद है, अर्थात, यह किसी भी तरह से श्रृंखला में फिट नहीं होता है। परिणामस्वरूप, पिछला रिटर्न मान ( [2] ) STDOUT में मुद्रित होता है, फिर निलाड के मूल्य ( [] ) के साथ बदल दिया जाता है ।
चूंकि [] मिथ्या है, Ȧ
इसे 0 में रूपांतरित किया । J
परमाणु को बढ़ावा देता है 0 करने के लिए [0] , तो इसकी सूचकांक (की सूची देता है [1] ) है, जो परोक्ष छपा है जब कार्यक्रम खत्म।
22
एक और शाब्दिक। इनका उपयोग करने के लिए रेपिडिजिट सबसे अच्छी जगह लगती है।
“@ṃ»
यह जेली के इनबिल्ट स्ट्रिंग कंप्रेशन का उपयोग करता है। जेली के कोड पृष्ठ में @ और ṃ के सूचकांक 64 और 220 हैं और स्ट्रिंग शाब्दिकों में 250 भिन्न वर्ण हो सकते हैं, इसलिए यह पूर्णांक 250 × 65 + 220 = 16470 की गणना करता है ।
16470 3 से विभाज्य है, इसलिए भागफल 16470/3 = 5490 एक मुद्रण योग्य ASCII चरित्र या एक लाइनफीड को एन्कोड करता है। इनमें से 96 और 5490 = 96 × 57 + 18 हैं , जिसका अर्थ है कि हमने 0-आधारित इंडेक्स 18 में मुद्रण योग्य ASCII चरित्र को डिकोड किया है , जो '2' है ।
हम 57 के साथ बचे हैं , जो 3 से भी विभाज्य है , इसलिए भागफल 57/3 = 19 = 96 × 0 + 19 0-आधारित इंडेक्स 18 में मुद्रण योग्य ASCII वर्ण है , जो '3' है ।
यह 0 छोड़ देता है ; डिकोडिंग प्रक्रिया बंद हो जाती है। उत्पन्न चरित्रों को "23" बनाने के लिए संक्षिप्त किया गया है
!ḤḤ!
भाज्य परमाणु !
अंतर्निहित तर्क बदल जाता है 0 में 1 । अस्वस्थ परमाणु के दो आह्वान 1 को 2 में Ḥ
बदल देते हैं , फिर 2 को 4 में । अंत में, गणना 4! = 24 ।!
³HH
कमांड लाइन तर्क के अभाव में, लगातार ³
रखती है 100 । दो आमंत्रण H
बदल जाता है 100 में 50 , तो 50 में 25 ।
ØaM
निरंतरता Øa
लोअरकेस वर्णमाला रखती है। अधिक से अधिक परमाणु M
अधिक से अधिक आइटम के सभी सूचकांकों पैदावार, और के बाद से z सबसे बड़ा छोटा अक्षर है, परिणाम है [26] ।
;;;;;;;;;;;;;;;;;;;;;;;;;;;¬¬ḅ¬
की छब्बीस प्रतियां CONCATENATE परमाणु ;
प्रारंभिक वापसी मान जोड़ 0 और डिफ़ॉल्ट तर्क के छब्बीस उदाहरणों 0 , 27 शून्यों की एक सरणी का निर्माण।
¬
है तार्किक नहीं परमाणु, तो ;¬
एक संलग्न कर देता है 1 शून्य की सरणी के लिए। अगले ¬
सरणी में सभी तत्वों को नकारता है, जो हमें 27 लोगों और 1 शून्य के सरणी के साथ छोड़ देता है।
ḅ
है unbase परमाणु और आधार का अधिकार तर्क पूर्णांक में निर्दिष्ट से अपने बाएँ तर्क से एक अंकों सरणी बदल देता है। ḅ¬
यूनरी से पूर्णांक में परिवर्तित होता है, इसलिए यह केवल एक योग करता है। 27 लोगों की एक सरणी के लिए, यह 27 देता है ।
irið8c
परमाणु का सूचकांकi
इसके बाएं तर्क को 0 से [0] तक बढ़ावा देता है , फिर इसके सही तर्क 0 के सूचकांक को उस सरणी में 1 , yiel 1 में खोजता है ।
रेंज परमाणु r
निर्माण करती है इसे से एक बढ़ते या घटते रेंज का अधिकार एक के लिए तर्क बचा है। सही तर्क निहित तर्क 0 है , इसलिए यह पैदावार करता है [1, 0] । [१, ०] में ०i
के सूचकांक को खोजता है , २ का अंकन करता है ।
ð
एक नई, रंगाई श्रृंखला शुरू करता है। चूंकि पूर्ववर्ती श्रृंखला निलादिक थी, इसलिए इस श्रृंखला के बाएं और दाएं दोनों तर्क पहले श्रृंखला के रिटर्न मान ( 2 ) के बराबर होंगे । c
में संयोजन परमाणु। बाएं तर्क 8 और दाएं तर्क 2 के साथ , यह 8C2 = 8! (6! 2!) = 28 को वापस करते हुए, 8 तत्वों के एक सेट के सभी अनूठे, अनियंत्रित 2-संयोजनों को गिनता है ।
⁶ḲĠṂ°İṂĊ
स्थिरांक ⁶
एक अंतरिक्ष वर्ण रखता है और तर्क और वापसी मान को '' सेट करता है । शब्द परमाणु Ḳ
चरित्र को बढ़ावा देता है '' सिंगलटन स्ट्रिंग के लिए "" और रिक्त स्थान पर यह विभाजन, उपज [[] [],] ।
समूह परमाणु Ġ
सभी समूहों को समान तत्वों का समूह बनाता है । चूँकि अंतिम रिटर्न मान के दोनों तत्व समान हैं, इसलिए यह [[१, २]] यहाँ लौटाता है। न्यूनतम परमाणु एक न्यूनतम (केवल) इस सरणी के तत्व, उपज निकालता है [1, 2] ।
डिग्री परमाणु °
, रेडियंस में सेक्साजेसिमल डिग्री से दोनों पूर्णांकों धर्मान्तरित उपज 1 ° × 2π / 360 ° = π / 180 और 2 ° × 2π / 360 ° = π / 90 । उलटा परमाणु गुणक प्रतिलोम लेता है, उपज 180 / π ≈ 57.3 और 90 / π ≈ 28.6 ।
फिर, Ṃ
एक बार अधिक से अधिक न्यूनतम 28.6 की उपज लेता है । अंत में, छत परमाणु 28.6 को 29 में Ċ
बदल देता है ।
œṡ¹ẆẆTUṖṖṖṖP
पहचान परमाणु ¹
रिटर्न 0 अंतर्निहित तर्क के लिए 0 । चारों ओर विभाजन परमाणु œṡ
अपने तर्कों (दोनों के दोनों को बढ़ावा देता है 0 ) के लिए [0] , तो विभाजन [0] के बराबर सन्निहित subarrays के आसपास [0] । इससे पैदावार [[], []] होती है ।
रपट खिड़की परमाणु Ẇ
अपने तर्क के सभी सन्निहित subarrays बनाता है। पहला उदाहरण [[], []] को [[[]], [[]], [[], []] में बदल देता है, दूसरा उदाहरण रूपांतरित [[[]], [[]], [[] , []]] में
[[[[]]], [[[]]], [[[], []]], [[[]], [[]]], [[[]], [ [], []]], [[]], [[]], [[], []]] ।
सच्चाई परमाणु T
truthy तत्वों के सभी सूचकांकों सूचीबद्ध करता है। पहले स्तर पर कोई भी ऐरे खाली नहीं है, इसलिए यह पैदावार [1, 2, 3, 4, 5, 6] करता है । समाप्त कर देना परमाणु U
इस सरणी उलट जाता है, उपज [6, 5, 4, 3, 2, 1] ।
पॉप परमाणु की चार प्रतियां Ṗ
पिछले चार तत्वों को हटा देती हैं, जो हमें [6, 5] के साथ छोड़ देती हैं । अंत में, उत्पाद परमाणु P
इस सरणी को 30 में बदल देता है ।
३१ - ४०
ȷ½RṪ
ȷ
1 × 10 3 = 1000 के लिए एक आशुलिपि है । वर्गमूल परमाणु ½
पैदावार 31.6 है, जो सीमा परमाणु R
में परिवर्तित हो [1, ..., 31] । अंत में, पूंछ परमाणु Ṫ
आखिरी तत्व को निकालता है, 31 को वापस करता है ।
LµdddddµFL
लंबाई परमाणु L
निहित तर्क को बढ़ावा देता है 0 करने के लिए [0] उपज के लिए, तो लंबाई लेता है 1 । µ
एक नई, मौद्रिक श्रृंखला शुरू करता है, और परिणाम 1 इसका तर्क बन जाता है।
तर्कों x और y के लिए , डिवमोड परमाणु d
उपज देता है [x / y, x% y] । प्रत्येक कॉल में y = 1 होगा , इसलिए परिणाम हमेशा [x, 0] होगा ।
पहली कॉल x = 1 से शुरू होती है , उपज [1, 0] । d
केवल पूर्णांकों पर काम करता है, इसलिए यह बाद की कॉलों में सदिश करता है। दूसरी कॉल की उपज [[1, 0], [0, 0]] , तीसरी [[[1, 0], [0, 0]], [[0, 0], [0, 0]]] है । और गहराई 5 की पांचवीं और अंतिम एक सरणी जिसमें एक एकल और 31 शून्य होते हैं।
µ
एक बार फिर से एक नई, मौद्रिक श्रृंखला शुरू होती है, और पहले से सरणी इसका तर्क बन जाती है। फ्लैट परमाणु F
इस सरणी unnests, एक भी एक और 31 शून्यों का एक फ्लैट सरणी उपज। अंत में, L
परिणामी की लंबाई लेता है, 32 लौट रहा है ।
33
एक और रेपिडिजिट, दूसरा शाब्दिक।
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWŒḊ
रैप परमाणु का प्रत्येक उदाहरण अपने तर्क z को [z] में बदल देता है । 0 के प्रारंभिक वापसी मूल्य के साथ, सभी 34 उदाहरण एक साथ उपज देते हैं [[[[[[[[[[[[[[[[[[[[[[[[[[[] [[[]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] । अंत में, गहराई परमाणु ŒḊ
परिणामी सरणी की अधिकतम गहराई की गणना करता है, 34 लौटता है ।
ẇɓæ«æ«æ«æ«æ«|æ«|
खिड़की मौजूद परमाणु ẇ
अपने तर्कों (दोनों के लिए डिफ़ॉल्ट के दोनों को बढ़ावा देता है 0 ) के लिए [0] , तो परीक्षण करता है, तो ** [0] ** का एक सन्निहित subarray रूप में होता है [0] । यह करता है, इसलिए 1ẇ
लौटाता है ।
ɓ
एक नई, रंगाई श्रृंखला शुरू करता है। चूंकि पूर्ववर्ती श्रृंखला निलादिक थी, इसलिए इस श्रृंखला के बाएं और दाएं दोनों तर्क पहले श्रृंखला के रिटर्न मान ( 1 ) के बराबर होंगे । श्रृंखला दो अलग-अलग, डाईएडिक परमाणुओं का उपयोग करती है: बिटशिफ्ट लेफ्ट ( æ«
) और बिटवाइज़ ओआर ( |
)।
एक डायैडिक श्रृंखला जो तीन या अधिक रंगों से शुरू होती है, शुरू में श्रृंखला के तर्कों के साथ पहले डेड को बुलाती है। यहाँ, यह 1 << 1 = 2 देता है । इसके बाद के छह रंगों को जोड़े (तथाकथित कांटे ) में बांटा जाता है , जहां सबसे दाहिने रंगाद को श्रृंखला के तर्कों के साथ पहले कहा जाता है, फिर सबसे बाईं ओर दोनों पक्षों के पिछले रिटर्न मूल्यों के साथ बुलाया जाता है।
के लिए æ«æ«
, हमें 2 << (1 << 1) = 2 << 2 = 8 मिलते हैं । फिर, 8 << (1 << 1) = 8 << 2 = 32 कीæ«æ«
गणना करता है । अब, हमें 32 मिलता है | (1 << 1) = 32 | 2 = 34 ।|æ«
अंत में, अनुगामी |
एक हुक की तरह कार्य करता है और इसे पिछले रिटर्न मान के साथ इसके बाएं तर्क के रूप में कहा जाता है और श्रृंखला का सही तर्क इसके दाहिने हिस्से के रूप में। यह रिटर्न 34 | 1 = 35 ।
⁹ṚḢ²
एक दूसरा तर्क के अभाव में, लगातार ⁹
रखती है 256 । रिवर्स परमाणु को बढ़ावा देता है 256 सरणी [2, 5, 6] और यह उपज के लिए पराजयों [6, 5, 2] । फिर, सिर परमाणु Ḣ
पहला तत्व निकालता है, और वर्ग परमाणु ²
रिटर्न ** 6² = 36 *।
‘‘‘0‘‘‘‘‘‘‘
वेतन वृद्धि परमाणु ‘
द्वारा अपने तर्क वृद्धि कर देता है 1 , इसलिए ‘‘‘
प्रारंभिक वापसी मान बारी 0 में 3 । निम्नलिखित 0 एक अप्राप्य निलाद है, अर्थात, यह किसी भी तरह से श्रृंखला में फिट नहीं होता है। परिणामस्वरूप, पिछला रिटर्न मान ( 3 ) STDOUT में मुद्रित होता है, फिर निलाड के मान ( 0 ) के साथ बदल दिया जाता है ।
निम्नलिखित 7 की प्रतियां ‘
इस मोड़ 0 में 7 , जो परोक्ष छपा है जब कार्यक्रम खत्म।
’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ạ
घटती परमाणु ’
द्वारा अपने तर्क decrements 1 , तो अड़तीस प्रतियां प्रारंभिक वापसी मान बारी 0 में -38 । पूर्ण अंतर परमाणु ạ
के बीच अहस्ताक्षरित अंतर की गणना करता है -38 और अंतर्निहित तर्क 0 , लौटने 38 ।
-____---__________
-
-1 के लिए एक आशुलिपि है और लिंक के तर्क और रिटर्न मान को -1 पर सेट करता है । प्रत्येक _
डाईडिक घटाव परमाणु का एक उदाहरण है , जिसका सही तर्क अनुपलब्ध होने पर -1 में डिफ़ॉल्ट होगा ।
पहले, -____-
गणना (-1) - (-1) - (-1) - (-1) - (-1) = 3 । निम्नलिखित -1 एक अप्राप्य निलाद है, इसलिए पिछला रिटर्न मान ( 3 ) STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( -1 ) के साथ बदल दिया जाता है ।
अगला, -_
गणना करता है (-1) - (-1) = 0 , जहां शाब्दिक बाएं तर्क को -
सेट करता है और सही मान के रूप में वापसी मूल्य का उपयोग करता है। डिफ़ॉल्ट मान -1 को घटाने के बाद वापसी की मूल्य से निम्नलिखित नौ प्रतियां , उपज 9 , जो कि कार्यक्रम समाप्त होने पर स्पष्ट रूप से मुद्रित होती है।_
_
”(O
”(
एक चरित्र शाब्दिक है और क्रमिक परमाणु O
अपने यूनिकोड कोड बिंदु को देखता है, जो 40 का है ।
४१ - ४ 41
⁵ḶxḶ⁵ị⁵ḶxḶḣṢ
एक तिहाई कमांड लाइन तर्क के अभाव में, लगातार ⁵
रखती है 10 । Unlength परमाणु Ḷ
0-आधारित रेंज, विशेष रूप से पैदा करता है [0, ..., 9] तर्क के लिए 10 , के दोनों पक्षों के लिए जगह में दोहराने परमाणु x
। उत्तरार्द्ध अपने बाएं तर्क के तत्वों को अपने दाएं की पुनरावृत्ति के साथ मेल खाता है, और प्रत्येक तत्व को इसी संख्या को दोहराता है। साथ [0, ..., 9] दोनों छोड़ दिया और सही तर्क के रूप में, हम इस प्रकार शून्य शून्य, एक के बाद एक, दो दुक्की आदि मिलता है
में सूचकांक परमाणु ị
सूचकांक अपने बाएँ एक में निर्दिष्ट में अपनी सही तर्क के तत्व को हासिल करेगा। बाएं तर्क 10 ( ⁵
इसके बाएं) और दाएं तर्क [1, 2, 2, 3, 3, 3, 4, 4, 4, 4,…, 9] (पिछले परिणाम) के साथ, यह 4 देता है ।
इस बिंदु तक की श्रृंखला एक अप्राप्य निलाद द्वारा पीछा की जाती है ⁵
, इसलिए STDOUT में मुद्रित पिछला रिटर्न मान ( 4 ), वापसी मान 10 पर सेट होता है , और शेष श्रृंखला हमेशा की तरह पार्स होती है।
पहले की तरह, ⁵ḶxḶ
सरणी [1, 2, 2, 3, 3, 3, 4, 4, 4, 4,…, 9] का उत्पादन करेगा । इस बार, हम तर्क 10 पर सॉर्ट किए गए परमाणु Ṣ
को कहते हैं , जो 10 को [1, 0] को बढ़ावा देता है , फिर इसे उपज के लिए सॉर्ट करता है [0, 1] । Dyadic सिर परमाणु अब लंबाई की उपसर्गों को हासिल करेगा 0 और 1 बाईं ओर परिणाम से, के साथ हमें छोड़ रहा है [[], [1]] । जब मुद्रित, कुछ भी नहीं लेकिन 1 दृश्यमान रहेगी।
⁽{ʂ%⁽{}
⁽
और इसके दो निम्नलिखित वर्ण एक संख्यात्मक शाब्दिक हैं। यदि जेली के कोड पृष्ठ में j और k उनके कोड पॉइंट हैं और (j, k) <(124, 250) , तो हमें पूर्णांक 1001 + 250j + k मिलता है । के कोड अंक '{' , '}' , और 'ʂ' कर रहे हैं 123 , 125 , और 167 है, इसलिए करने के लिए शाब्दिक मूल्यांकन करता छोड़ दिया 1001 + 250 × 123 + 167 (= 31918) है, जबकि सही एक का मूल्यांकन 1001 + 250 × 123 + 125 (= 31876) ।
चूँकि बायाँ पूर्णांक दो बार जितना छोटा है, उतना ही सही है, परिणाम (… + 167)% (… + 125) = (… + 167) - (… + 125) = 167- 125 = 42 है ।
ẊẠżv©żvżvżvọ®®Ạżvżvżvọ®
फेरबदल परमाणु Ẋ
अपने तर्क के तत्वों का क्रम randomizes; एक संख्यात्मक तर्क z को पहले से [1,…, z] श्रेणी में पदोन्नत किया जाता है । निहित तर्क 0 के लिए , यह सीमा खाली है और Ẋ
पैदावार [] । सभी परमाणु Ạ
रिटर्न 1 अगर इसके तर्क के तत्वों के सभी truthy, कर रहे हैं 0 नहीं तो। चूँकि एक खाली सरणी में मिथ्या तत्व नहीं होते हैं, इसलिए 1 यहाँ Ạ
लौटाता है।
साथ जिप परमाणु ż
(एक दो का समूह) तर्क लेता है x और y और जोड़ी transposes [एक्स, वाई] । पूर्णांक x और y के लिए , यह बस [[x, y]] देता है , इसलिए यह विशेष रूप से ż
, तर्क 1 और 0 (अंतर्निहित तर्क) के साथ, रिटर्न [[1, 0]] । Dyadic eval परमाणु v
, सभी फ्लैट सरणियों (युक्त केवल अंक और अक्षर) मैं तार में बाईं तर्क बदल जाता है तो कार्यक्रमों के तर्क के रूप में अपनी सही तर्क के साथ monadic जेली कार्यक्रमों के रूप में जिसके परिणामस्वरूप तार मूल्यांकन करता है। चूंकि ["10"]पूरी तरह से शाब्दिक हैं, यह सही तर्क की उपेक्षा करता है v
और बस [10] परिणाम देता है ।
प्रति त्वरित ©
करने के लिए देता v
है और प्रतियां रजिस्टर में इसके परिणाम। बाद में रिकॉल एटम ®
(एक निलाद) की घटनाएँ रजिस्टर से [10] प्राप्त करेंगी ।
[१०] से [[१०] , [१००] से [१००] तक [१००००] तक [१०]żv
मैपिंग से पहले की तरह की अगली तीन प्रतियां । आदेश परमाणु परीक्षण कितनी बार अपने बाएँ तर्क इसलिए यहाँ अपने अधिकार एक से विभाज्य है, इसके बारे में आदेश की गणना 10 (साथ लाए जाने में) 10000 = 10 4 , उपज [4] ।ọ
®
निम्नलिखित ®
एक अप्राप्य निलाद है, इसलिए पिछले रिटर्न मान ( [4] ) को STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( 10 ) के साथ बदल दिया जाता है । हम Ạ
अगले आवेदन करते हैं , 1 उपज । (यह एक बिंदु के रूप में निषाद के बाद इस बिंदु पर पार्स करने योग्य होगा के रूप में आवश्यक है।)
पहले की तरह, żvżvżv
तीन रिटर्न को मौजूदा रिटर्न वैल्यू में जोड़कर 1 को [1000] में बदल दिया । अंत में, 1000 = 10 3 में 10ọ®
के क्रम की गणना करता है , और जब प्रोग्राम समाप्त हो जाता है तो 3 को STDOUT में प्रिंट किया जाता है।
44
फिर भी एक और प्रतिगामी, फिर भी एक और शाब्दिक।
111111l11&K1111111Kl11&
सबसे पहले और सबसे महत्वपूर्ण, शाब्दिक 111111
तर्क और प्रारंभिक वापसी मूल्य 111111 है । अन्य रन 1
भी शाब्दिक हैं।
l
है लघुगणक परमाणु, जो आधार सही एक में निर्दिष्ट करने के लिए अपनी बाईं तर्क के लघुगणक गणना करता है। जब सही तर्क 11 के साथ 111111 पर कॉल किया जाता है , तो हमें लॉग 11 111111। 4.85 मिलता है ।
शब्द परमाणु K
रिक्त स्थान एक सूची तर्क मिलती है, एक अंकीय / चरित्र को बढ़ावा देने के बाद जेड को [z] । यहाँ, हम इसका उपयोग लिंक के तर्क को 111111 को [111111] में बदलने के लिए करते हैं । (हमें यहां एक सरणी की आवश्यकता नहीं है, लेकिन हम पहचान परमाणुओं से बाहर निकल चुके हैं।) बिटवाइंड और परमाणु &
दोनों पक्षों में वापसी मान लेता है, यदि आवश्यक हो, तो उन्हें पूर्णांक में डाल देता है और उनकी बिटवाइज़ की गणना करता है। इस विशेष मामले में, यह [4.85 और 111111] = [4 और 111111] = [4] रिटर्न करता है ।
निम्नलिखित 1111111
एक अप्राप्य निलाद है, इसलिए पिछले रिटर्न मान ( [4] ) को STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( 1111111 ) के साथ बदल दिया जाता है । K
फिर इस पूर्णांक को [1111111] में बदल देता है । (यह एक बार फिर वास्तव में आवश्यक नहीं है, लेकिन एक डाईलाड के बाद एक निलाद इस बिंदु पर पार्स करने योग्य होगा।)
पहले की तरह, l11
गणना 11 1111111 , 5.81 लॉग इन करती है , फिर &
रिटर्न [5.81 और 111111] = [5 और 111111] = [5] ।
,SS
ỊỊ,ÇS
ÇÑÇÇÇÑ
यह एकमात्र प्रोग्राम है जिसमें कई उपयोगकर्ता-परिभाषित लिंक होते हैं। अंतिम लिंक मुख्य लिंक है और जब प्रोग्राम शुरू होता है तो निष्पादित होता है, शेष लिंक सहायक होते हैं। त्वरित Ç
हमेशा वर्तमान एक से ऊपर के लिंक को संदर्भित करता है और इसे राक्षसी रूप से निष्पादित करता है। इसी तरह, क्विक Ñ
हमेशा वर्तमान एक ( नीचे लपेटकर) के नीचे दिए गए लिंक को संदर्भित करता है और इसे मोनोडिक रूप से निष्पादित भी करता है।
शीर्ष लिंक में जोड़ी परमाणु शामिल है ,
- एक डाईड जो तर्कों को x और y को [x, y] में बदल देता है - और योग परमाणु S
- एक मोनाद जो एक पूर्णांक तर्क z [z] को बढ़ावा देता है और इसके अलावा एक सरणी तर्क को कम करता है। जब लिंक ,SS
को पूर्णांक तर्क n के साथ बुलाया जाता है , तो यह n [n, ]n] = Σ [n, n] = 2n की गणना करता है ।
मध्य लिंक में उपरोक्त परमाणु, पूर्वोक्त त्वरित Ç
, और तुच्छ परमाणु शामिल हैं Ị
- एक ऐसा मौद्रिक जो 1 से argu z , 1 के साथ संख्यात्मक तर्कों के लिए 1 उपज देता है , लेकिन अन्य सभी के लिए 0 । Ị
दो बार एक पूर्णांक तर्क पर लागू होता है n अनिवार्य रूप से 1 के साथ बदल देता है , क्योंकि पहला Ị
( दूसरा इनपुट ) का आउटपुट हमेशा महत्वहीन होता है। इस परिणाम को उसके रिटर्न वैल्यू के साथ जोड़ा Ç
जाता है (जिसे तर्क n के साथ कहा जाता है ), और परिणामस्वरूप जोड़ी को घटा दिया जाता है S
। कुल मिलाकर, हम गणना करते हैं| [(| N | ≤ 1), 1, 2n] = 1 [1, 2n] = 2n + 1 ।
जगह में इन दो सहायक लिंक के साथ, मुख्य लिंक अब अपने द्विआधारी अंकों को देखकर किसी भी गैर-नकारात्मक पूर्णांक का निर्माण कर सकता है। 0 के प्रारंभिक रिटर्न मूल्य के साथ , श्रृंखला ÇÑÇÇÇÑ
अंतिम परिणाम की गणना करती है (((((0 × 2 + 1) × 2) × 2 + 1) × 2 + 1) × 2 + 1) × 2 = ((5 ×) 2 + 1) × 2 + 1) × 2 = 46 ।
ÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆn
अगले प्रधानमंत्री परमाणु छोटी से छोटी सकारात्मक अभाज्य संख्या है कि इसके तर्क से सख्ती से अधिक है पाता है। प्रारंभिक वापसी मूल्य 0 के साथ , पंद्रह Æn
अभाज्य संख्याओं की गणना करता है, जो कि 47 है ।