अच्छा पुराना प्रत्यय वेक्टर


17

एक पुराने मैनुअल से प्रेरित ...

चुनौती

मैं परिभाषित एक वें प्रत्यय वेक्टर के लंबाई की बूलियन सूची के रूप में एक साथ अनुगामी truthy मूल्यों।

एक कार्यक्रम या समारोह लिखें कि, यह देखते हुए एक और किसी भी तरह से, रिटर्न एक वें के प्रत्यय वेक्टर किसी भी तरह से।

अब यह तुच्छ लग सकता है, लेकिन यहाँ पकड़ है: आपका स्कोर बाइट काउंट है और सबसे पहला साल है जब आपके समाधान ने काम किया होगा।

नियम

सभी मानक नियम लागू होते हैं, सिवाय इसके कि भाषा और भाषा संस्करण जो इस चुनौती के बाद जारी किए गए थे, उनका भी उपयोग किया जा सकता है।

बूलियन मूल्यों का जो भी प्रतिनिधित्व करता है, जो आपकी भाषा का उपयोग करता है, जैसे 1/ 0, True/ False, TRUE/ FALSE, "True"/ "False", आदि का उपयोग करके आउटपुट ।

सूचियों कि अपनी भाषा का उपयोग करता है, उदाहरण के लिए जो कुछ भी प्रतिनिधित्व का उपयोग कर उत्पादन 0 0 1, [False,False,True], (FALSE;FALSE;TRUE), {"False","False","True"}, आदि

आप मान सकते हैं कि एक हमेशा सच है और वे एक उपयुक्त डेटा प्रकार के होते हैं।

परीक्षण के मामलों

यह देखते हुए एक = 7 और = 3, वापसी0 0 0 0 1 1 1

यह देखते हुए एक = 4 और = 4, वापसी[True,True,True,True]

यह देखते हुए एक = 2 और = 0, वापसी(FALSE;FALSE)

यह देखते हुए एक = 0 और = 0, वापसी{}

उदाहरण समाधान और स्कोरिंग

मैं {⌽⍺↑⍵⍴1}Dyalog APL का उपयोग कर समाधान प्रस्तुत करना चाह सकता हूं । यह 8. का एक बाइटकाउंट होगा। यह एक डायनामिक फंक्शन है, जो 1998 में रिलीज़ हुए Dyalog APL के संस्करण 8.1 से काम करता है, इसलिए मेरा कुल स्कोर 2006 है। मेरा प्रस्तुत जवाब कुछ इस तरह दिखना चाहिए:

# Dyalog APL 8.1, 1998 + 8 = 2006
    {⌽⍺↑⍵⍴1}

Optional explanation...
Recommended: Link to documentation showing when the features you used were released.

सबसे कम स्कोर जीत!


14
मैं उत्तर की सत्यता के बारे में गहराई से चिंतित हूं।
डेनिस

1
@ डेनिस मैं आपको चिंता समझता हूं। हालांकि, 1) उत्तर ज्यादातर सरल होंगे, और इस तरह हाथ से सत्यापित किया जा सकता है - वास्तविक रनिंग सिस्टम की आवश्यकता नहीं है, और 2) कुछ उपयोगकर्ताओं ने अपने दावे के दस्तावेज़ीकरण से जोड़ा है।
Adám

8
मुझे यकीन नहीं है कि "हाथ से सत्यापित" आवश्यक रूप से कुछ उत्तरों के लिए काम करने वाला है - अतीत एक विदेशी स्थान है, और कभी-कभी चीजों के शुरुआती संस्करणों में उन चीजों की कमी हो सकती है जो आज आम लगती हैं ...
Sp3000

1
@ Sp3000 हो सकता है, लेकिन यह सब वैसे भी मौज-मस्ती के लिए है, और 1.5h में 8 जवाब और 9 अपवोट्स के साथ, मुझे लगता है कि यह चुनौती काफी मजेदार है जिसे स्वीकार करें कि कोई धोखा दे सकता है। शायद अंतिम विजेता पर कुछ अतिरिक्त शोध ...
एडम

1
@CatsAreFluffy विचार यह दिखाने के लिए था कि उन स्वरूपों में से कोई भी मान्य है। मुझे लगता है कि मामले थोड़े और सरल हैं कि कॉपी-पेस्ट करना आसान नहीं है।
आदम

जवाबों:


7

APL \ 360, 1968 + 3 बाइट्स = 1971

⎕⍵⎕

ट्यूटोरियल @NBZ से एक बिलिन जुड़ा हुआ है। मैं नहीं पता है क्यों @NBZ कहा यह 1970 स्कोर है, क्योंकि एपीएल \ 360 1968 तक लागू नहीं किया गया था, और एपीएल \ 1130 की तरह पहले APLs प्रत्यय वेक्टर समारोह (के पृष्ठ 208 देखना नहीं था यहाँ )।


8

फोर्थ, 1970 + 38 = 2008

:s tuck +do 0 . loop 0 +do -1 . loop ;

उपयोग: 7 3 sप्रिंट "0 0 0 0 -1 -1 -1"


अब हम बात करेंगे!
आदम

क्यों -1 भराव +
कैलक्यूलेटरफैनलाइन

2
यह एक और दिलचस्प 'सत्य' मूल्यों में से एक है जिसे मैंने हाल ही में देखा है।
user3490


क्या एक अच्छा कारण यह नाम है svऔर नहीं s, या कुछ और एक बाइट है?
बिल्ली

8

एपीएल, 1968 + 5 = 1973

नीचे 5 वर्ण:

⌽⎕≥⍳⎕

पुराना संस्करण:

⌽⎕↑⎕⍴1

ठीक है, आपने वास्तव में पहले से ही जवाब दे दिया है, मैंने बस गतिशील फ़ंक्शन परिभाषा को हटा दिया है और जांच की है कि यह एक ने 1968 में काम किया था। यहां संदर्भ के लिए मैनुअल था:

http://www.softwarepreservation.org/projects/apl/Books/APL360ReferenceManual


बच्चों, इसे एक विजेता कहा जाता है । कृपया इसे अपने नोट्स में लिखें।
कैलकुलेटरफ्लीन

@CatsAreFluffy अभी तक नहीं। @ Moris Zucca: अंत में, लेकिन आप वास्तव में उन बाइट्स के आधे भाग को गोल्फ कर सकते हैं। क्या आप यह पता लगा सकते हैं कि कैसे? इसके अलावा, यहां मैनुअल का अधिक आधुनिक और पठनीय संस्करण है।
आदम

7

एसएएस, 1966 + 45 = 2011

data;a=;b=;do i=1to a;c=a-i<b;put c@;end;run; 

एसएएस चमकने का समय!

एसएएस को पहली बार 1972 तक प्रकाशित नहीं किया गया था, लेकिन यह डेटा चरण केवल बहुत ही बुनियादी सुविधाओं का उपयोग करता है, जो कि मुझे पूरा विश्वास है कि यह 1966 के बाद के शुरुआती रिलीज संस्करणों में भी उपलब्ध होगा, इसलिए मेरा मानना ​​है कि यह तब काम कर सकता था। इनपुट के बाद a=और b=, और आउटपुट लॉग में मुद्रित होता है।

मैं चकित हो जाएगा अगर किसी के पास अभी भी एक आईबीएम सिस्टम / 360 था जो एसएएस के सही संस्करण के साथ वास्तव में इसे सत्यापित करता है!



अब, अगर केवल मेरे पास एक मेनफ्रेम एसएएस लाइसेंस के लिए नकदी थी ...
16:34 पर user3490

5

माउस- 1979 , 1979 + 19 = 1998

??&TUCK (0.a)0(1-.)

का अनुवाद: फोर्थ

कल्पना वास्तव में मेरे लिए गुप्त है लेकिन मुझे लगता है कि यह सही काम करता है।


टूटा हुआ लिंक ....
कैलक्यूलेटरफलाइन

@CatsAreFluffy फिक्स्ड; मैंने इसे मेमोरी से टाइप किया।
बिल्ली

दिलचस्प। लेकिन मुझे नहीं लगता &Tuckकि 2002 संस्करण तक उपलब्ध था। और छोरें अनंत दिखाई पड़ती हैं।
एशेल्ली

4

टीआई-बेसिक, 1990 + 21 = 2011

यह प्रोग्राम जिस पहले TI कैलकुलेटर पर काम करता है वह 1990 में पेश किया गया TI-81 है।

Prompt A,B:"{}
seq(I>A-B,I,1,A

संपादित करें: मैंने देखा कि मुझे एक खाली सूची का समर्थन करना चाहिए ... 4 बाइट्स से बढ़ा हुआ कोड

परीक्षण के मामलों

A=?7
B=?3
{0 0 0 0 1 1 1}

A=?4
B=?4
{1 1 1 1}

A=?2
B=?0
{0 0}

A=?0
B=?0
{}   * throws an error but still returns successfully

क्या आप टिप्पणी जोड़ सकते हैं कि स्रोत के किन हिस्सों में TI-Basic में सिंगल बाइट्स हैं? मुझे लगता है कि इसमें प्रॉम्प्ट और सीक शामिल हैं (लेकिन मैं बाकी के बारे में निश्चित नहीं हूं
स्पेर

Ansजब तक यह मुद्रित न हो, हम स्वीकार्य आउटपुट पद्धति से लौटने पर विचार नहीं करते हैं ।
lirtosiast

@ शपर ज़रूर, Promptऔर seq(एक बाइट टोकन हैं और अन्य पात्र एक-एक बाइट हैं।
टिमटेक

Ansटीआई -83 श्रृंखला बेसिक में मान वापस करने का डिफ़ॉल्ट तरीका @lirtosiast है। इसके अतिरिक्त, जब कोई प्रोग्राम चलाया जाता है, तो अंतिम लाइन अपने आप प्रिंट हो जाती है। इसलिए आपके पास दोनों दुनिया के सर्वश्रेष्ठ हैं।
टिमटेक

2
क्या यह विश्लेषणात्मक इंजन है? किसी को यह करना चाहिए ...
कैलक्यूलेटरफलाइन

4

गणितज्ञ 1.0, 1988 + 22 बाइट्स = 2010

Array[#>m&/.m->#-#2,#]&

मुझे यकीन नहीं है कि यह काम करता है, बस 10.3 पर प्रलेखन के माध्यम से चला गया और 1988 (1.0) में प्रस्तुत की गई चीजों की तलाश की गई


बस वर्तमान विजेता के बारे में। अगर केवल एसएमपी कोड छोटा हो सकता है ...
कैलक्यूलेटरफलाइन

एक और नोट पर हालांकि, कुछ डॉक्स: शुद्ध कार्यों , /.और-> ,Array
Sp3000

4

68k टीआई-बेसिक, 1995 + 25 = 2020

यह कार्यक्रम जिस पहले TI कैलकुलेटर पर काम करता है वह 1995 में पेश किया गया TI-92 है।

define f(a,b)=seq(x>a-b,x,1,a)

TI-83 श्रृंखला के विपरीत, 68k TI-Basic खाली सूची का समर्थन करता है।


आकार कैसे गिना जाता है? 68k सीरीज़ पर टोकनेशन बहुत अलग है।
lirtosiast

शीघ्र और seq दोनों दो बाइट्स हैं और कई तर्कों के लिए एक बाइट ध्वज है। (२१ बाइट्स)
टिमटेक

ध्यान दें कि यह 68k कैलकुलेटर के संदर्भ में न तो एक कार्यक्रम है और न ही एक फ़ंक्शन: Promptएक फ़ंक्शन में अमान्य है, और एक प्रोग्राम एक मान वापस नहीं कर सकता है। इसलिए इसे होम स्क्रीन पर एंटर करना होगा। दूसरी ओर, define f(a,b)=seq(x>a-b,x,1,a)एक मान्य फ़ंक्शन को परिभाषित करता है जिसे तर्क के रूप में ए और बी दिया जा सकता है। (1995-09-13 से मेरे टीआई -92 पर सत्यापित)
फॉक्स

मेरे पास कई TI कैलकुलेटर (केवल z80-वर्जन 81 है), लेकिन आमतौर पर TI-92 प्लस का उपयोग करते हैं। इसे चलाने defineऔर कॉल करने f(2,1)या इसे टोकन के समान करने के बाद , OS द्वारा सूचित आकार 25 बाइट्स है।
फॉक्स

3

पायथन 1.0, 1994 + 26 = 2020

2 बाइट डीएसएम के लिए धन्यवाद बचा लिया।

लैम्ब्डा को पहली बड़ी रिलीज, 1.0 के साथ पेश किया गया था

lambda a,b:[0]*(a-b)+[1]*b

1
पुष्टि की गई लैम्ब्डा को 1.0.2 में सूची (अनुक्रम) दोहराव में पेश किया गया । सबसे पुराना संस्करण जिसे मैं इस पर परीक्षण कर सकता था (0.9.1 के अलावा) 1.5.2 था , और यह वहां ठीक काम करता है।
15

@ Sp3000 ओह वाह, यह कमाल है। मैं इस बात की पुष्टि करने के लिए कुछ परिवर्तन लॉग ढूंढने की कोशिश कर रहा हूं कि अनुक्रम पुनरावृत्ति उस भाषा में थी जो जल्दी थी।
मॉर्गन थ्रैप

3

MATL , 2015 + 1 + 4 = 2020

:P<~

यह भाषा के 6.0.0 रिलीज के बाद से काम करता है (यह अंतर्निहित इनपुट का उपयोग करता है, जिसे उस रिलीज में पेश किया गया था), 31 दिसंबर 2015 को।

मैंने 1संभवतः विभिन्न स्थानों पर @drolex टिप्पणी के अनुसार स्कोर में जोड़ा है।

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

व्याख्या

:    % take first input implicitly. Generate inclusive range from 1 to that
P    % flip that array
<~   % take second input implicitly. True for elements of flipped array that
     % exceed second number. Display implicitly

4
एक दिन बाद, और ...
Adám

2
अनापत्ति! हमें github सर्वर और रिलीज़ सबमिटर के लिए स्थान की आवश्यकता होगी। यदि एक टोंगा में है और दूसरा हवाई में, तो इस गिनती को बढ़ाना पड़ सकता है।
ड्राप्लेक

@drolex ओपी को परिभाषित करना चाहिए कि वह "वर्ष" से क्या मतलब है, बिल्कुल। इस बीच, मैं अपने स्कोर में 1 जोड़ रहा हूं
लुइस मेंडो

@DonMuesli मेरा मतलब यह नहीं था, बस इस तरह की स्कोरिंग की संभावित सीमाएँ दिखा रहा है
drolex

@drolex ओह, मैंने सोचा था कि आप गंभीर थे। मैंने वैसे भी ओपी से पूछा है। Github तारीख शायद आधिकारिक रूप में गिना जाए
लुइस Mendo

3

जे, 1990 + 8 = 1998

|.a{.b#1

अरे। इस उत्तर पर शोध कर रहा था और किसी को भाषा समझने की आशा करने से पहले एपीएल से मिला। यहां मेरा J हल है।


2

प्रोलोग, 1972 + 57 = 2029

a(0,_,[]).
a(A,B,[H|L]):-Z is A-1,a(Z,B,L),(Z<B,H=1;H=0).

उपयोग: के साथ a(7,3,L).एकजुट हो जाएगाL[0,0,0,0,1,1,1]

जब isमैं भाषा में लागू किया गया था तो मुझे वास्तव में बहुत यकीन नहीं है , और मुझे संदेह है कि आप वास्तव में सटीक तारीख पा सकते हैं। यह एक बहुत ही बुनियादी अंतर्निहित है, हालांकि मुझे लगता है कि यह पहले से ही मौजूद था जब भाषा पहली बार 1972 में दिखाई दी थी

ऐसा नहीं है कि यह वास्तव में मायने रखता है, मैं इस जवाब के साथ जीतने से बहुत दूर हूं।


यह विजेता नहीं हो सकता है, लेकिन यह स्पष्ट रूप से खोज के लाभ को दिखाता है - अहम् - परिपक्व भाषाएँ ...
एहम

2

एसएमपी , 1983 + 28 बाइट्स = 2011

Map[S[$1>x,x->$1-$2],Ar[$1]]

मुझे लगता है कि मुझे यह अधिकार मिला है ... S: 2.10, पृष्ठ 48 Ar: 7.1, पृष्ठ 102 Map: 7.2, पृष्ठ 106 $1: 7.1, पृष्ठ 104

और अगर आप गणितज्ञ से परिचित हैं, नहीं, Ar तो इस तरह काम नहीं करता है । अधिक पसंद Range+ Select


(#>x&/.x->#)/@Range[#+#2]&गणितज्ञ में
कैलकुलेटरफ्लीन

मेरा मतलब है(#>x&/.x->#-#2)/@Range[#]&
कैलकुलेटर

2

विम, 1991 + 21 = 2012

"adwj<c-x>"bdw@ai0<esc>v@bhr1

इनपुट इस तरह दिखता है:

7
3

और आउटपुट इस तरह दिखता है:

0000111

स्पष्टीकरण:

"adw                            'Delete a word into register a
    j<c-x>                      'Go down a line, and decrement the next number to occur
          "bdw                  'Delete a word into register b
              @ai0<esc>         'Insert a '0' "a" times
                       v        'Enter visual mode
                        @bh     'Move "b" characters left
                           r1   'Replace the whole selection with the character '1'

बहुत बुरा vi रजिस्टरों का समर्थन नहीं करता है, क्योंकि यह 1976 में जारी किया गया था!
डीजेएमकेमहेम

कृपया स्पष्टीकरण दें?
कैलक्यूलेटरफलाइन


2

पायथ, 2015 + 9 4 = 2024 2019

उसकी मदद के लिए @FryAmTheEggman को धन्यवाद!

gRQE

यहाँ यह कोशिश करो!

व्याख्या

gRQE # Q = सत्य मानों की अनुगामी राशि
        # ई = वेक्टर की लंबाई
 आरई # नक्शा रेंज पर (ई)
जी क्यू # डी> = क्यू

2

> <> , 2009 + 14 + 3 के लिए -v = 2026

b तथा a-v रिवर्स ऑर्डर में, सीधे स्टैक पर प्रदान किया जाना चाहिए ।

उदाहरण के रूप में आउटपुट को अलग नहीं किया गया है, लेकिन यह किसी भी नियम के विरुद्ध नहीं जाता है। यह 0 और 1 का उपयोग करता है, क्योंकि यह भाषा द्वारा उपयोग किए गए झूठे और सच का प्रतिनिधित्व करता है।

:?!;{:0(n1-}1-

यह वर्तमान संस्करण के साथ काम नहीं करता है ? अब स्टैक से इसके परीक्षण मूल्य को पॉप करता है।

मुझे विश्वास नहीं है कि प्रत्येक सुविधा को 1 दिन से लागू किया गया था, -vउदाहरण के लिए एक वस्तु के रूप में बाद में प्रदान किया जा सकता था। मैं यह सुनिश्चित करने की कोशिश करूंगा कि मेरा उत्तर इस सप्ताह के अंत में सही हो।


1
? क्वीन चैलेंज में बताए अनुसार पॉप (लंबे समय पहले) नहीं हुआ
कैलक्यूलेटरफलाइन

धन्यवाद, यह बहुत अच्छी खबर है, मैं 1 बाइट बचाऊंगा :) अब मैं इसे संपादित करूंगा, लेकिन मुझे esolang.org पर जुड़े संसाधनों की जांच करनी होगी, कुछ तारीख कम से कम 2011 तक।
हारून


आपकी मदद के लिए धन्यवाद, मैंने विकि के संशोधन की जाँच करने के लिए नहीं सोचा होगा! मैं इस समय काम पर हूँ और शायद अभी तक सब कुछ नहीं देख पाऊँगा, लेकिन मैं इसे आज शाम या कल करना सुनिश्चित करूँगा।
आरोन

स्कोर = 2026 अब।
कैलक्यूलेटरफिलीन

1

05AB1E , 2016 + 9 = 2025

यह निश्चित रूप से आगे बढ़ाया जा सकता है, लेकिन यहां एक शुरुआत है: पी। कोड:

-0s×1¹×«S

इसे ऑनलाइन आज़माएं! इनपुट को b, a के रूप में दिया गया है

इसके अलावा 9 बाइट्स 0×1I×0ñRS:।




1

मठकाद, १ ९९ c + ४२ = २०४०

"बाइट्स" को विभिन्न कीबोर्ड अक्षरों की संख्या के रूप में व्याख्या की जाती है (उदाहरण के लिए, 'ऑपरेटर के लिए (एक प्रोग्रामिंग लाइन सहित) एक एकल वर्ण ctl-shft- #, या प्रोग्रामिंग टूलबार पर एक क्लिक)।

उपरोक्त बाइट गिनती मानती है कि ए और बी परिभाषाएं कुल की ओर नहीं गिनती हैं; यदि यह धारणा अमान्य है, तो परिभाषाओं के लिए 4 बाइट्स जोड़ें।

नीचे दिखाया गया फ़ंक्शन संस्करण परिभाषा के लिए 5 बाइट्स जोड़ता है और प्रत्येक उपयोग के लिए एक और 3 बाइट्स (एक और बी मानों को सीधे टाइप किया जाता है)।

जैसा कि मेरा मथकड समाधान स्पष्ट रूप से लाल टीज़ से खेलना चाहिए और प्रतियोगिता वाले नहीं, मैंने समाधान की एक तालिका जोड़ी है। ध्यान दें कि मैथकाड के पास कोई खाली सरणी नहीं है, मैंने इसके बजाय एक खाली स्ट्रिंग ("") का उपयोग किया है; मैंने 0 का उपयोग यह दर्शाने के लिए किया है कि मैंने b> एक जोड़े की गणना नहीं की है।

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


बहुत ही रोचक!
टिमटेक

1

PHP, 1995 + 56 बाइट्स = 2051

function s($a,$b){while($i++<$a)$v[]=$i>$a-$b;return$v;}
एक्स्प्लोडेड वीयू
function s($a,$b) {
  while ($i++ < $a) $v[] = $i > $a - $b;
  return $v;
}

उह..थेयर के कस्टम स्कोरिंग। यह प्रथम वर्ष की भाषा है + बाइट गिनती
कैलक्यूलेटरफेलीन

वूप्स, सही तुम हो! फिक्सिंग ...
ricdesi

PHP 1 में इस काम की शायद-गलत धारणा बनाना, जल्द ही संस्करण को सत्यापित करेगा।
रिक्सी

1

जावास्क्रिप्ट ईएस 6, 2015 + 46 = 2061

0 और 1 की सरणी देता है

(a,b)=>Array(a-b).fill(0).concat(Array(b).fill(1))

जावास्क्रिप्ट ईएस 6, 2015 + 50 = 2065

की एक स्ट्रिंग रिटर्न 0और 1वर्ण

(a,b)=>Array(a-b+1).join(0)+Array(b+1).join(1)

जावास्क्रिप्ट, 1995 + 61 = 2056

की एक स्ट्रिंग रिटर्न 0और 1वर्ण

function(a,b){return Array(a-b+1).join(0)+Array(b+1).join(1)}

1

k ( कोना ), 1993 + 15 = 2008

((a-b)#0b),b#1b

ख सच्चे मूल्यों की सूची बनाता है, और इसे (ab) गलत मूल्यों की सूची में सम्मिलित करता है।



0

स्माइलबासिक 3, 2014 + 25 = 2039

SmileBASIC 3 का पहला सार्वजनिक रूप से उपलब्ध संस्करण नवंबर 2014 में Nintendo 3DS के लिए SmileBASIC ऐप के साथ जापान में लॉन्च किया गया था।

एक स्ट्रिंग को प्रिंट करता है जहां 0 गलत है और 1 सच है (जैसा कि वे भाषा में ही हैं।)

INPUT A,B?"0"*(A-B)+"1"*B
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.