2016 टाइम कैप्सूल स्ट्रिंग: चढ़ो द इंटेगर लैडर


28

2016 समय कैप्सूल स्ट्रिंग से 74 वर्णों का उपयोग करना

H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%

N कोड स्निपेट सभी को उसी भाषा में लिखें जहाँ:

  • 1 स्निपेट आउटपुट 1
  • दूसरा स्निपेट आउटपुट 2
  • 3 स्निपेट आउटपुट 3
  • ... आदि। ...
  • Nth स्निपेट आउटपुट N(संख्या, शाब्दिक पत्र नहीं)।

"कोड स्निपेट" को इनमें से किसी के रूप में परिभाषित किया गया है:

  • कोई आवश्यक इनपुट के साथ एक पूर्ण कार्यक्रम जो सामान्य रूप से संख्या को आउटपुट करता है ।
  • कोई आवश्यक तर्क के साथ एक फ़ंक्शन जो सामान्य रूप से संख्या को आउटपुट / वापस करता है ।
  • एक REPL अभिव्यक्ति जो संख्या का मूल्यांकन करती है।

(आप अपने एन स्निपेट्स में इन तीन वेरिएंट्स को मिक्स एंड मैच कर सकते हैं।)

एन स्निपेट्स के संयुक्त सेट में आपको जिन पात्रों का उपयोग करने की अनुमति है, वे ठीक समय कैप्सूल के 74 वर्ण हैं, साथ ही floor(N/2) अतिरिक्त "वाइल्डकार्ड" बाइट्स जो आप कहीं भी उपयोग कर सकते हैं।

उदाहरण के लिए, टाइम कैप्सूल में तीन होते हैं @इसलिए आपके एन स्निपेट्स की संपूर्णता में केवल तीन @तक मौजूद हो सकते हैं जब तक कि आप floor(N/2)अतिरिक्त के लिए अपने वाइल्डकार्ड बाइट्स में से कुछ का उपयोग करने का निर्णय नहीं लेते हैं @

इस प्रकार, वाइल्डकार्ड की गिनती नहीं करना, आपके एन स्निपेट्स में वर्णों का संयुक्त सेट 74 समय कैप्सूल वर्णों का सबसेट होना चाहिए। उनकी संयुक्त लंबाई 74 से अधिक नहीं हो सकती है। आप स्निपेट के बीच समय कैप्सूल वर्ण या वाइल्डकार्ड बाइट्स का पुन: उपयोग नहीं कर सकते हैं।

टिप्पणियाँ

  • स्निपेट की लंबाई पर कोई अन्य सीमा नहीं है या प्रति स्निपेट कितने वाइल्डकार्ड का उपयोग किया जा सकता है।

  • आपको एन के माध्यम से 1 के लिए सभी स्निपेट लिखना होगा । यह 0 से एन -1 के लिए नहीं है, न कि एन + के -1 से।

  • स्निपेट व्यक्तिगत होना चाहिए, न कि एक स्निपेट जो सूची को आउटपुट करता है 1, 2, 3, ..., N

  • आउटपुट के 3.0स्थान पर फ़्लोट्स हो 3सकते हैं और आप दशमलव के अलावा किसी अन्य आधार का उपयोग कर सकते हैं यदि यह आपकी भाषा का प्राकृतिक आधार है । आपको सभी स्निपेट के लिए एक ही आधार का उपयोग करना चाहिए।

  • वाइल्डकार्ड को आपकी भाषा के एन्कोडिंग में बाइट्स के रूप में गिना जाता है । यह संभवतः ASCII होगा, लेकिन उदाहरण के लिए यदि आपके एन्कोडिंग में एक बाइट के रूप में गिना जाता है तो आप इसे एकल वाइल्डकार्ड बाइट के रूप में उपयोग कर सकते हैं।

  • आप मल्टीबाइट पात्रों के लिए वाइल्डकार्ड बाइट्स का उपयोग कर सकते हैं। उदाहरण के लिए आम तौर पर तीन बाइट्स होते हैं इसलिए आप इसे स्निपेट में इस्तेमाल कर सकते हैं लेकिन यह आपके floor(N/2)वाइल्डकार्ड बाइट्स के तीन खर्च करेगा ।

  • इस तरह के एक के रूप में \r\nविचार किया जा सकता है नई बाइट्स

उदाहरण

पायथन में, N = 4 केवल REPL के उपयोग से संभव है। हैं floor(4/2) = 2वाइल्डकार्ड।

  1. 1समय कैप्सूल एक अभिव्यक्ति है जो करने के लिए evals है 1

  2. 2एक एकल वाइल्डकार्ड के होते हैं, अर्थात् 2। के लिए ईवल्स 2

  3. 3एक एकल वाइल्डकार्ड भी शामिल है। के लिए ईवल्स 3। और कोई वाइल्डकार्ड नहीं।

  4. 4सौभाग्य से समय कैप्सूल में है और यह करने के लिए evals 4

ये स्निपेट छोटे और तुच्छ होते हैं। एक वास्तविक उत्तर संभवतः अधिक जटिल होगा।

(पांच और पायथन से परे निश्चित रूप से संभव हो सकता है लेकिन मैं इसे पेशेवरों के लिए छोड़ दूँगा।)

स्कोरिंग

उच्चतम एन जीत के साथ जवाब; यानी पूर्णांक सीढ़ी पर चढ़ने वाला उच्चतम।

एक टाई के मामले में, सबसे कम वाइल्डकार्ड बाइट्स का उपयोग करने वाला उत्तर जीत जाता है।
मामले में अभी भी एक टाई है, जवाब जो सबसे कम संचयी वर्णों का उपयोग करता है वह जीतता है।
यदि अभी भी एक टाई है, तो पहले वाला उत्तर जीत जाता है।


1
यदि किसी प्रोग्रामिंग भाषा में REPL नहीं है, तो क्या हम अभी भी उस भाषा में एक अभिव्यक्ति प्रस्तुत कर सकते हैं यदि वह उचित मूल्य का मूल्यांकन करता है? (उदाहरण के लिए, 4एक वैध स्निपेट है जो पर्ल के पुराने संस्करणों में 4 रिटर्न करता है, जिसका कोई आरईपीएल नहीं है?)

1
ओह, और एक और सवाल: एक गैर-एएससीआईआई-संगत एन्कोडिंग वाली भाषा में, क्या हम समय कैप्सूल वर्णों को पात्रों के रूप में मानते हैं (उन्हें भाषा एन्कोडिंग में अनुवाद करते हुए), या बाइट्स के रूप में (एक प्रोग्राम लिखते हैं जो प्रोग्राम को ASCII के रूप में देखते हैं) पूरी तरह से समय कैप्सूल पात्रों में निहित प्रतीत होता है)? अजीब चरित्र सेट के साथ कुछ भाषाओं में, ज्यादातर समय कैप्सूल वर्ण चरित्र सेट में भी नहीं होते हैं, जिससे उन्हें उपयोग करने में मुश्किल होती है।

1
अग्रणी शून्य के बारे में क्या? के 07 रूप में ही है 7?
इमीना

1
यह वास्तव में मुझे -n
गलत

1
क्या स्टैक-आधारित भाषाओं में "स्निपेट" स्टैक पर अपना मान छोड़ सकते हैं?
FlipTack

जवाबों:


10

सीजाम , 25 स्निपेट, 12 वाइल्डकार्ड, 64 बाइट्स

1
Q!)
Z
4
5
6
L``(*$)#
8
9
T!T
B
C
D
E
F
G
H
I
J
K
O`e`~~!!
B`:)
Q``$e`~~@~@=~+
Q!)4
Amf

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

वाइल्डकार्ड:

568BBCDEFGJK

मुझे लगता है कि डेनिस के बाहर निकलने से पहले मुझे जल्दी से पोस्ट करना होगा।


आपने कौन से वाइल्डकार्ड का इस्तेमाल किया?
15

@EasterlyIrk संपादित करें। आप डेनिस के जवाब में वाइल्डकार्ड काउंटर का उपयोग भी कर सकते हैं ।
jimmy23013

कार्य प्रगति पर है: tio.run/nexus/jelly#FczNCoJAFIbh/…
jimmy23013


5

जावास्क्रिप्ट, 10 नंबर, 5 वाइल्डकार्ड

शेष वर्ण: !!#$$%&())))*...:=@@@HILOQQQTTZ\^```eefmpy{|||~~~~~~~~~

उपयोग किए गए 5/5 बोनस वर्ण: 37680

कार्यक्रम:

  1. 1
  2. ! `` +! ``
  3. 3
  4. 4
  5. 4|!``
  6. 6
  7. 7
  8. 8
  9. 9
  10. 0xA

मुझे उम्मीद थी कि मैं जिस स्ट्रिंग्स का उपयोग कर सकता हूं \xAB, वह एक नंबर होगा, लेकिन दुर्भाग्य से मैंने जो भी संयोजन की कोशिश की उनमें से कोई भी उपज नहीं होगी। ^(XOR) चरित्र भी उपयोग करने के लिए दिलचस्प होगा, लेकिन मैं वर्तमान में किसी भी अवसरों जहां यह एक महान पर्याप्त संख्या बनाने के लिए इस्तेमाल किया जा सकता नहीं दिख रहा।

यदि आप एक और संभव संयोजन देखते हैं, तो मुझे टिप्पणियों में बताएं।

संपादित करें: # 10 Arnauld के लिए धन्यवाद


1
मैं आप जोड़ सकते हैं लगता है 10. 0xA(के साथ 0एक नया वाइल्डकार्ड 10 तक पहुंच के लिए दी जा रहा है)
Arnauld

आप (Q=!``)|Qएक अतिरिक्त 1कहीं पाने के लिए 1 के लिए कर सकते हैं । यकीन नहीं है कि अगर यह मदद मिलेगी
ETHproductions

4

अजगर, 12 स्निपेट, 20 बाइट्स (6 वाइल्डकार्ड)

f@

पहली संख्या ज्ञात करें जहां रूट (n, n) सत्य है, 1 से शुरू। आउटपुट: 1

y!H

डबल नहीं {}। आउटपुट: २

3

वाइल्डकार्ड # 1। आउटपुट: 3

4

आउटपुट: ४।

5

वाइल्डकार्ड # 2। आउटपुट: 5

6

वाइल्डकार्ड # 3। आउटपुट: 6

7

वाइल्डकार्ड # 4। आउटपुट: 7

8

वाइल्डकार्ड # 5। आउटपुट: 8

9

आउटपुट: 9

T

प्रांतीयकृत चर। आउटपुट: १०

+T!Z

दस प्लस जीरो नहीं। आउटपुट: 11

12

वाइल्डकार्ड # 6 ( 2)। आउटपुट: 12


4

ऑक्टेव, 6 नंबर, 3 वाइल्डकार्ड

1: ~~I          % not(not(sqrt(-1))) evaluates to true (or 1)
2: 2            % Wildcard
3: 3            % Wildcard
4: 4
5: (T=4)+~~T    % Create a variable T=4, then add not(not(T)) which evaluates to 1.
6: 6            % Wildcard

मेरे पास अभी भी है 1, 9और *बचा हुआ है, लेकिन मुझे नहीं पता कि क्या इससे मुझे बहुत मदद मिलेगी। मैं देखूंगा कि मैं उन लोगों के साथ क्या कर सकता हूं :)

Esolang का उपयोग नहीं करने पर कई नंबर प्राप्त करना आसान नहीं है। मुझे उम्मीद है कि मैं एक या दो और प्राप्त करने में सक्षम हो जाऊंगा, लेकिन मुझे लगता है कि यह कठिन होगा।


2

पुष्य , 10 नंबर (4 वाइल्डकार्ड)

ये सभी स्निपेट्स हैं जो स्टैक पर परिणाम छोड़ते हैं। आप ऑनलाइन दुभाषिया में इसका परीक्षण कर सकते हैं# प्रत्येक स्निपेट (संख्या को प्रिंट करने के लिए) से जोड़कर

A(      \ 1:  Get alphabet and check that 'Z' >= 'Y'. Results in 1 (True)
x&+     \ 2:  Check stack equality (True - both are empty) then duplicate and sum.
3       \ 3:  Push 3 (1 wildcard)
4       \ 4:  Push 4
1 4+    \ 5:  1 + 4 in postfix, leaves 5 on the stack (1 wildcard)
`L`T%   \ 6:  Get character code of 'L' and modulo by T (ten) - leaves 6 on the stack
7       \ 7:  Push 7 (1 wildcard)
8       \ 8:  Push 8 (1 wildcard)
9       \ 9:  Push 9
T       \ 10: Push 10

यह उत्तर अभी तक पूरा नहीं हुआ है - हालांकि ऐसा लगता है कि मुझे इसकी संभावना नहीं है।


1

05AB1E, 12 नंबर, 6 वाइल्डकार्ड

 1:    1                                   -> 1
 2:    )O!x                                -> sum([])!*2
 3:    4L`\                                -> 2nd_last(range(1...4))
 4:    4                                   -> 4
 5:    5        # wildcard 1 = 5           -> 5
 6:    6        # wildcard 2 = 6           -> 6
 7:    Tf`~                                -> or(last2(prime_factors(10)))
 8:    8        # wildcard 3 = 8           -> 8
 9:    9                                   -> 9
10:    T                                   -> 10
11:    A`Q!T+   # wildcard 4 = T           -> (y==z)!+10
12:    TÌ       # wildcard 5,6 = T,Ì       -> 10+2

1

हेक्सागोनी , 6 नंबर, 3 वाइल्डकार्ड, 23 बाइट्स

1!@
))!@
)|\@$!
4!%
4)!:
6!@

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

पूरा छठा कार्यक्रम वाइल्डकार्ड से बनाया गया है।

केवल एक दिलचस्प है 3। जबकि मैं ऐसा कर सकता था 4(!@, जो मुझे आसानी 4से उत्पन्न करने के लिए बिना छोड़ देगा 5, इसलिए मैं इसके बजाय इसके साथ गया:

 ) |
\ @ $
 ! .

कारण |, )पहली पंक्ति पर दो बार चलाया जाता है, इससे पहले कि आईपी दाएं हाथ के कोने में लपेटता है। $एक से अधिक बार स्केप करता है @, और फिर तीसरी बार \आईपी को रीडायरेक्ट )करता है। आईपी ​​निचले बाएं कोने में लपेटता है, !प्रिंट करता है 3और@ प्रोग्राम को समाप्त करता है।

मुझे नहीं लगता कि 6 से अधिक स्निपेट संभव हैं, क्योंकि केवल 5 प्रिंटिंग कमांड ( !!!!!) और 5 कमांड हैं जिनका उपयोग प्रोग्राम ( @@@%:) को समाप्त करने के लिए किया जा सकता है । इसलिए पांचवें स्निपेट के बाद, हमें कम से कम दो वाइल्डकार्ड प्रति स्निपेट की आवश्यकता होती है। इसलिए, यहां तक ​​कि अगर मैं 6इसके लिए वाइल्डकार्ड का उपयोग किए बिना प्राप्त करने में कामयाब रहा, तो स्निपेट सात में जाने के लिए पर्याप्त वाइल्डकार्ड नहीं बचेगा।


1

जावास्क्रिप्ट, 8 संख्या, 4 वाइल्डकार्ड

 1: 1
 2: -~!``
 3: 4+~!$
 4: ~!``*~!``
 5: 4|!$
 6: 0xf^9
 7: 7
 8: 8

मैं बाद में फिर से कोशिश कर सकता हूं - मैं 2 और 6 पर पात्रों को बर्बाद कर रहा हूं, जब आप इसे नीचे लाते हैं।


0

Befunge-98, 4 स्निपेट, 18 बाइट्स, 2 वाइल्डकार्ड

!.@
!:+.@
41-.@    wildcard 1 = -
4.#A9H   wildcard 2 = .

इतने अक्षर बाकी: !!!$$%&())))*=ILOQQQTTZ\^`````````eefmpxy{||||~~~~~~~~~

मुझे संदेह है कि अधिक संभव है, क्योंकि प्रत्येक अतिरिक्त कार्यक्रम के लिए आउटपुट के रूप की आवश्यकता होगी, और सभी ., पहले से ही उपयोग किए जाते हैं। अगर मैं वाइल्डकार्ड के बिना 3 और 5 बनाने का तरीका समझ सकता हूं, तो यह संभव है।

अंतिम कार्यक्रम अंततः स्टैक भरने के कारण समाप्त हो जाएगा। Aऔर Hभरी हुई उंगलियों के निशान को प्रतिबिंबित नहीं किया जाएगा, और कार्यक्रम 9 को आगे बढ़ाएगा।


मुझे नहीं लगता कि आखिरी वैध है। जब तक चुनौती अन्यथा न कहे, कार्यक्रमों को समाप्त करने की आवश्यकता है।
मार्टिन एंडर

आप बस %हालांकि के साथ समाप्त कर सकते हैं ।
मार्टिन एंडर

@MartinEnder 00%Befunge-98 में मान्य है और 0 में परिणाम (या उपयोगकर्ता Befunge-93 में परिणाम के लिए पूछता है।
PurkkaKoodari

@MartinEnder इसके अलावा, अंतिम कार्यक्रम अंततः परिमित स्मृति को समाप्त करेगा । Funge-98 कल्पना का उल्लेख है कि {अगर यह स्मृति से बाहर चला सकता है; सामान्य धक्का के बारे में कुछ भी नहीं कहा जाता है, और सभी दुभाषियों को ओओएम पर विफल लगता है, लेकिन स्पष्ट रूप से स्मृति सीमा भाषा की कल्पना के बारे में सोचा जाता है।
पुरकाकूदरी

मुझे लगता है कि pचरित्र की उपस्थिति के कारण इसमें (शायद ???) सुधार किया जा सकता है , लेकिन यह कुछ काम करेगा। आप e%95 प्राप्त करने के लिए कर सकते हैं , लेकिन आपको इसे प्रिंट करने और कार्यक्रम को समाप्त करने के लिए एक तरह की आवश्यकता होगी, इसलिए मुझे संदेह है
MildlyMilquetoast

0

SmileBASIC, 12 स्निपेट, 5 वाइल्डकार्ड, 31 बाइट्स

!.     '. is parsed as the number 0.0; taking the logical not gives 1
!.+!.  'Previous value added to itself
@Q||Q  '@Q is a label string and Q is a variable. For some reason, certain comparison/logical operations between strings and numbers return 3 rather than 1 or 0. 
4      '4
#TLIme 'Constant for the text color lime green, value is 5.
6      '6 (wildcard)
7      '7 (wildcard)
8      '8 (wildcard)
9      '9
&HA    'Hexadecimal A
11     '11 (one of them is a wildcard)
4*3    '4 multiplied by 3 (3 is wildcard)

मैं इसके बजाय एक चर का उपयोग कर सकता था .(चर 0 पर शुरू), और Q$इसके बजाय एक स्ट्रिंग चर (जैसे )@Q

उपयोग किए गए वर्ण: !!!#&*+...1449@AHILQQTem||

वाइल्डकार्ड्स का उपयोग किया जाता है: 67813

अप्रयुक्त वर्ण: !!$$%()))):=@@OQTZ\\^`````````efpxy{||~~~~~~~~~

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