पूर्णांक अनुक्रमों में कोड शब्द


15

परिचय

पेरिडोलिया : प्राचीन ग्रीक से; παρα ( पैरा , "समवर्ती, साथ") + ρλον ( eíd imagelon , "छवि")। एक अस्पष्ट उत्तेजना की व्याख्या करने की प्रवृत्ति जो पर्यवेक्षक के लिए जानी जाती है, जैसे कि मंगल पर नहरों के रूप में निशान की व्याख्या करना, बादलों में आकृतियाँ देखना, या संगीत में छिपे संदेशों को सुनना। स्रोत: विक्षनरी

उदाहरण के लिए:

यहां छवि विवरण दर्ज करें

पैरलोगिया : प्राचीन यूनानी से; παρα ( पैरा , "समवर्ती, के साथ-साथ") + λόγος ( लोगो , "भाषण, भाषण, शब्द, ...")। वर्णों के मनमाने अनुक्रमों में शब्दों को देखने की प्रवृत्ति, जैसे कि कोड गोल्फ कार्यक्रमों में। स्रोत: हाँ, मैंने इसे बनाया (वास्तव में शब्द का अर्थ कुछ और है , जैसा कि @Martin द्वारा बताया गया है)।

उदाहरण के लिए:

    df4$/H)hEy_^p2\
    jtK2$)look|x1$

चुनौती

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

नियम

  • इस सूची के केवल शब्दों की अनुमति है। यह स्पष्ट रूप से मनमाना है, लेकिन यह आवश्यक है कि हम सभी सहमत हों कि कौन से शब्द स्वीकार किए जाते हैं; और इस संबंध में यह सूची संभवतः किसी अन्य के रूप में अच्छी है।
  • शब्दों को कम से कम दो फ़ंक्शन नामों या कथनों को संक्षिप्त करके बनाया जाना चाहिए । यदि उदाहरण के लिए आपकी भाषा में कोई फ़ंक्शन है, तो correlationइसे उपयोग नहीं किया जा सकता है। संघटन सख्त होना चाहिए: शब्द के हिस्सों के बीच कोई अन्य प्रतीक नहीं दिखाई देना चाहिए। उदाहरण के लिए, bro~kenएक शब्द के रूप में नहीं गिना जाएगा।
  • प्रकरण महत्वहीन है: दोनों validऔर vaLiDस्वीकार्य हैं।
  • तार के भीतर शब्दों की गिनती नहीं है। अक्षर जो शब्द बनाते हैं, उन्हें पसंद की भाषा में फ़ंक्शन या कथन होने की आवश्यकता होती है, अर्थात, ऐसा कुछ जिसे वास्तव में निष्पादित किया जाता है । उदाहरण के लिए, निम्नलिखित कोड की अनुमति नहीं दी जाएगी: 'deoxyribonucleic'~1जहां '...'एक स्ट्रिंग है, ~पिछली सामग्री को छोड़ देता है, और 1बस संख्या को प्रिंट करता है 1
  • शब्द का प्रत्येक अक्षर आवश्यक होना चाहिए । इसका मतलब यह है कि शब्द से एक अक्षर को हटाने से इनपुट-आउटपुट संबंध को बदलना चाहिए। जिसमें एक अलग अनुक्रम आउटपुट करना, या किसी अन्य चीज़ को आउटपुट करना, या कोई आउटपुट उत्पन्न करना, या कोई त्रुटि उत्पन्न करना शामिल है।
  • किसी भी सकारात्मक पूर्णांक को इनपुट के रूप में स्वीकार्य होना चाहिए, और डेटा-प्रकार या मेमोरी प्रतिबंधों को छोड़कर आउटपुट का उत्पादन करना चाहिए।
  • आउटपुट आदानों के लिए इसी 1, 2, 3, ... एक दृश्य में प्रदर्शित होने के अनुरूप होना चाहिए OEIS । किसी अन्य आउटपुट का उत्पादन नहीं किया जाना चाहिए; केवल एक पूर्णांक संख्या, संभवतः अनुगामी या प्रमुख व्हाट्सएप के साथ।
  • इनपुट और आउटपुट फ़ंक्शन तर्क या स्टड / स्टडआउट हो सकते हैं।

स्कोर

वर्णों में कुल कोड लंबाई माइनस दो बार सबसे लंबे शब्द की लंबाई के रूप में गणना की जाती है। या समकक्ष, सबसे लंबे समय तक शब्द वर्णों की संख्या शून्य से सबसे लंबे शब्द की लंबाई।

सबसे कम स्कोर जीतता है।

उदाहरण

एक काल्पनिक पोस्टफ़िक्स भाषा पर विचार करें जिसमें ये कार्य हैं: cएक नंबर इनपुट करें; At: गणना वर्ग; $: 1 जोड़ें।

cAtएक वैध कार्यक्रम होगा (अनुक्रम में इसके उत्पादन मेल खाती है 1, 4, 9, ..., जो है A000290 ), और यह स्कोर के लिए होता है -3।

cAt$भी मान्य होगा (अनुक्रम 2, 5, 10, ..., जो है A002522 ), स्कोर के साथ -2।

c$At मान्य नहीं होगा, क्योंकि यहाँ एकमात्र शब्द "At" है और यह एकल फ़ंक्शन या स्टेटमेंट द्वारा निर्मित है।


मुझे लगता है कि यह एक लोकप्रियता प्रतियोगिता होनी चाहिए।
MCMastery

5
@MCMastery इससे अच्छी लोकप्रियता प्रतियोगिता नहीं होगी। (अधिकांश चुनौतियाँ नहीं होंगी।)
एलेक्स ए।

यह अनिवार्य रूप से गोल्फ भाषाओं तक सीमित है।
ericw31415

जवाबों:


11

सीजाम, -20

COUNTErREVOLUTIONARIES],

अनुक्रम A010861 में nth तत्व को आउटपुट करता है ।

COUNTE                      e# push values of six preinitialized variables
      r                     e# read a token of input
       REVOLUTIONARIES      e# push values of 15 other preinitialized variables
                      ]     e# wrap whole stack in array
                       ,    e# get length

शब्द से एक चरित्र को हटाने से एक पूरी तरह से अलग अनुक्रम होता है A010860 होता है । दो अनुक्रमों के बीच एक बहुत ही दिलचस्प संबंध है: प्रत्येक सूचकांक n पर, A010860(n)सहानुभूति है A010861(n)! इसके पीछे कोई गहरा गणितीय कारण होना चाहिए।

इसे यहाँ आज़माएँ ।


1
मैंने एक और जिज्ञासु गणितीय संबंध की खोज की है: यदि आप A01081 अनुक्रम से A010860 अनुक्रम घटाते हैं, तो परिणाम हमेशा हर सूचकांक में 1 के बराबर होता है! दिलचस्प ...
दरवाज़े

इसे हराना मुश्किल होगा :-)
लुइस मेंडो

ओह, ऊपरी मामला .. महान विचार :)
मार्टिन एंडर

10

सीजेम, -5

limpet;

A010051 : 0संमिश्र संख्या और 1primes के लिए प्रिंट ।

मुझे हमेशा के लिए कुछ ऐसा मिला जिसने कुछ अंक हासिल किए और किसी भी अक्षर को हटाने पर टूट गया। mएक त्रुटि को छोड़कर कुछ भी निकालना, और mप्रोग्राम को पहचान फ़ंक्शन में बदल देता है।

li  e# Read input and convert to integer.
mp  e# Check for primality.
et  e# Get current datetime as a list.
;   e# Discard the datetime again.

इसे ऑनलाइन आज़माएं।


अनुक्रम का सुंदर विकल्प! :-)
लुइस मेंडो

8

05AB1E , -4 -11

कोड, A010869 प्रिंट करता है (लगातार 30):

ASYNcHRonouSlyI)g

पिछला कोड:

DoGS

स्पष्टीकरण:

D     # Duplicate top of the stack
 o    # Pop a, push 2**a
  G   # For N in range(1, 2**a):
   S  # Push all chars seperate from the top of the stack

A010879 अनुक्रम प्रिंट करता है।


यह अब तक का सबसे दिलचस्प क्रम है!
लुइस मेंडो

2
पार -4 अभी भी नियमित -4 है; (
ETHproductions

6

MATL , −6

INhale

इसे ऑनलाइन आज़माएं!

का उत्पादन अनुक्रम 1, 2, 3, ... ( A000027 )

किसी भी पत्र को हटाने से आउटपुट में बदलाव होता है, या एक दूसरे इनपुट की उम्मीद करने वाले प्रोग्राम को छोड़ देता है जो मौजूद नहीं है, या एक त्रुटि पैदा करता है।

व्याख्या

कार्यक्रम बस एक संख्या का पता लगाता है और, चारों ओर कुछ हलचल के बाद, इसे अपरिवर्तित करता है।

I    % produces number 3
N    % number of elements in stack: produces number 1
h    % concatenates horizontally into array [3, 1]
a    % true if any element is nonzero. So it gives true (or equivalently 1)
l    % produces number 1
e    % triggers implicit input and reshapes into a 1x1 array. So it leaves input unchanged

5

अजगर, १

*QhSatan0000
   Satan

स्पष्टीकरण?

       n00   - 0 != 0 (0) 
      a   0  - abs(^-0) (0, Required so it doesn't print out a random 0)
     t       - ^-1 (-1, required or will output 0 all the time)
    a      0 - abs(^-0) (1, Required so counts in right direction, would also print out a random 0)
   S         - 1-indexed range ([1], required so next command works properly)
  h          - Get the head (if `S` missed, will out 2)
*Q           - Multiply by Q

1, 2, 3, 4, 5 ...

क्रम A000027

अवचेतन सन्देश? कभी नहीँ।

इसे यहाँ आज़माएँ।


4

जाप, -6

NuLLIFIED)r^

आउटपुट A004453 : N और 12 (N XOR 12) के nimsum।इसे ऑनलाइन टेस्ट करें!

नोट: OEIS अनुक्रम 0-अनुक्रमित है, इसलिए 0 के इनपुट के परिणामस्वरूप पहला आइटम होगा।

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

        // Implicit: N = array of inputs
Nu      // Push the following things to N:
LLIF    // 100, 100, 64, 15,
IED     // 64 again, 14, and 13.
)r^     // Reduce by XORing (using ^ between each pair)
        // The reduction goes as follows: U, U^100, U, U^64, U^79, U^15, U^1, U^12.

अच्छा! किसी भी स्पष्टीकरण, जब आप कर सकते हैं?
लुइस मेंडो

@LuisMendo ज़रूर, किया। यह अविश्वसनीय रूप से सरल है, लेकिन मुझे अभी तक कुछ अधिक जटिल नहीं मिला है।
18

@LuisMendo अपडेट किया गया। यह थोड़ा और दिलचस्प है।
ETHproductions

वास्तव में! लेकिन स्पष्ट रूप Yसे एक ही उत्पादन को हटाने ? (जब तक मैं कुछ गलत नहीं कर रहा हूं)
लुइस मेंडो

@ क्या यह बेहतर है?
ETHproductions

3

हेडसेट्स , स्कोर .4

exit

यह ब्रेनफक कार्यक्रम के नक्शे ,+-., जो एक एकल चरित्र को पढ़ता है और इसे प्रिंट करता है, A000030 की गणना करता है । किसी भी चरित्र को हटाने से जाहिर तौर पर वह टूट जाएगा।

वहाँ भी marshal( ,-<>+-.) है, जो प्रभावी रूप से है ,-., लेकिन यह किसी भी OEIS अनुक्रम के अनुरूप नहीं है।


2

x86 मशीन कोड, स्कोर -4

कोड के Hexdump:

53 51 55 41 53 68 69 65 73 74 51 58 83 c4 14 c3

या, कोड पृष्ठ 437 में :

SQUAShiestQXâ─¶├

विधानसभा कोड:

push ebx
push ecx
push ebp
inc ecx
push ebx
push 0x74736569
push ecx
pop eax
add esp, 0x14
ret

एक फ़ंक्शन जो इसके तर्क में 1 जोड़ता है

हटाने से Aयह एक पहचान समारोह में बदल जाता है। किसी भी अन्य बाइट को हटाने से स्टैक गड़बड़ हो जाता है, जिससे या तो कॉलिंग फ़ंक्शन का क्रैश या खराब व्यवहार होता है।

मुझे पूरा यकीन है कि स्कोर में सुधार करना संभव है, लेकिन यह आवश्यकताओं की व्याख्या पर निर्भर हो सकता है। उदाहरण के लिए, शब्द का उपयोग करने SQUEAMIShnessसे एक प्रोग्राम मिलता है, जो बढ़ता है और फिर ebpरजिस्टर कम हो जाता है । क्या इनमें से किसी को हटाने से दुर्घटना होती है? एक सरलतम परीक्षण कार्यक्रम ebpरजिस्टर का उपयोग नहीं करता है , इसलिए शायद यह नहीं है ... इस संदेह से बचने के लिए, मैंने एक छोटे शब्द का उपयोग किया।



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