एक मोड़ के साथ प्राइम्स


13

नोट: यह इस प्रश्न से प्रेरित है ।

कार्य:

आपका कार्य nवें प्रधानमंत्री को उत्पन्न करना है , जब आपके कार्यक्रम के प्रत्येक चरित्र को nजगह में दोहराया जाता है।

मान लीजिए कि आपका कार्यक्रम है:

Derp

वहाँ हर वर्ण को एक बार दोहराया जाता है, इसलिए इसे आउटपुट करना चाहिए 2

जब हर चरित्र को जगह में दोहराया जाता है, जैसे:

DDeerrpp

यह दूसरा प्राइम उत्पन्न करना चाहिए, जो कि है 3

ऐनक:

  • आपके प्रोग्राम को कोई इनपुट स्वीकार नहीं करना चाहिए, और संबंधित प्राइम को आउटपुट करना होगा।
  • आपके कार्यक्रम को पर्याप्त समय और स्मृति को देखते हुए सभी अपराधों के लिए काम करना चाहिए।
  • प्रमुख और नई अनुगामी ठीक हैं।
  • आउटपुट भाषा के डिफ़ॉल्ट आधार में होना चाहिए - यदि कोई डिफ़ॉल्ट नहीं है, तो कोई भी आधार ठीक है।

यह , इसलिए बाइट्स जीत में सबसे छोटा कोड है।


6
क्या आपका कार्यक्रम पर्याप्त समय और स्मृति को देखते हुए सभी अपराधों के लिए काम करना चाहिए। मतलब मैं C में int का उपयोग नहीं कर सकता?
डेनिस

जवाबों:


21

जेली , 13 बाइट्स

“Ŀo‘’FQỌµḟ;¹V

इसे ऑनलाइन आज़माएं! या पहले दस कार्यक्रम चलाएं

पृष्ठभूमि

जेली के कई अलग-अलग प्रकार के स्ट्रिंग शाब्दिक हैं; उन सभी की शुरुआत ए से होती है । यदि शाब्दिक में एक से अधिक होते हैं , तो एक स्ट्रिंग सरणी वापस आ जाती है, और एक दूसरे से तार को अलग करती है।

उदाहरण के लिए, “abc“def”पैदावार ['abc', 'def']

शाब्दिक के अंतिम चरित्र पर निर्भर करता है (कोई भी ”«»‘’, जहां «वर्तमान में इसे लागू नहीं किया गया है), विभिन्न प्रकार के शाब्दिकों में से किसी एक को चुन सकते हैं। इसके लिए , हम संबंधित यूनिकोड वर्णों के बजाय जेली के कोड पृष्ठ में कोड अंक प्राप्त करते हैं ।

उदाहरण के लिए, “abc“def‘पैदावार [[97, 98, 99], [100, 101, 102]]

पहले तीन कार्यक्रमों में शाब्दिक निम्नलिखित कोड बिंदु सरणियों के अनुरूप हैं।

“Ŀo‘           -> [199, 111]
““ĿĿoo‘        -> [[], [199, 199, 111, 111]]
“““ĿĿĿooo‘     -> [[], [], [199, 199, 199, 111, 111, 111]]

यह कैसे काम करता है ( n = 3 )

“““ĿĿĿooo‘‘‘’’’FFFQQQỌỌỌµµµḟḟḟ;;;¹¹¹VVV  Main link. Implicit argument: 0

“““ĿĿĿooo‘                               Yield the 2D array
                                         [[], [], [199, 199, 199, 111, 111, 111]].
          ‘‘                             Increment twice, yielding
                                         [[], [], [201, 201, 201, 113, 113, 113]].
            ’’’                          Decrement thrice, yielding
                                         [[], [], [198, 198, 198, 110, 110, 110]].
               F                         Flatten, yielding
                                         [198, 198, 198, 110, 110, 110].
                FF                       Twice more. Does nothing.
                  Q                      Unique; yield [198, 110].
                   QQ                    Twice more. Does nothing.
                     Ọ                   Unordinal; convert the Unicode code points
                                         198 and 110 to 'Æ' and 'n'.
                      ỌỌ                 Twice more. Does nothing.
                        µµµ              Begin three monadic chains, all with
                                         argument s := "Æn".
                           ḟ             Filter-false; remove the characters of s
                                         from s, yielding "".
                            ḟḟ           Twice more. Does nothing.
                              ;;;¹       Concatenate with s three times, yielding
                                         "ÆnÆnÆn".
                                  ¹¹     Identity function. Does nothing.
                                    V    Eval the resulting Jelly code, i.e.,
                                         call the next-prime atom thrice, with
                                         initial implicit argument 0.
                                     VV  Eval two more times. This is a no-op
                                         on integers.

1
यह निश्चित रूप से एक स्पष्टीकरण की जरूरत है ... और यह कैसे निर्धारित किया गया है पर निर्भर करता है, यह एकमात्र भाषा हो सकती है जो ऐसा कर सकती है?
मूल्य इंक

6
क्या कैसे? यह बहुत जल्दी रास्ता है।
clismique

@ValueInk मैंने अपना उत्तर संपादित किया है।
डेनिस

21

जीएस 2 ( कमिटमेंट 67fea47 ), 6 3 बाइट्स

dnR

यह काम किस प्रकार करता है

अधिकांश आदेशों की तरह, जीएस 2 की dअतिभारित है। प्रारंभ में, स्टैक पर एक खाली सूची (इनपुट या उसके अभाव) है, इसलिए dइसकी राशि की गणना करता है। पहले पुनरावृत्ति के बाद, स्टैक पर 0 है , और dइसकी समता ( 0 भी ) की गणना करता है । इस प्रकार, चाहे हम कितनी भी बार दोहराएं d, परिणाम हमेशा एक ही होगा 0

अगला भाग सीधा है। कमांड nस्टैक के शीर्ष को पॉप करता है और अगले प्राइम नंबर को धक्का देता है। इस प्रकार, दोहरा n कश्मीर बार की गणना करता है कश्मीर प्रधान।

अंत में, आदेश केवल लागू होता है str ढेर है, जो अपनी स्ट्रिंग प्रतिनिधित्व करने के लिए एक नंबर धर्मान्तरित और कोई तार को प्रभावित करता है की चोटी पर। इस प्रकार, कोई फर्क नहीं पड़ता कि हम कितनी बार दोहराते हैं R, परिणाम कश्मीर का स्ट्रिंग प्रतिनिधित्व होगा प्रधान।


2
पृथ्वी पर क्या!?
downrep_nation

3
पुनर्जीवन न करें
डिजिटल ट्रामा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.