पॉलीग्लॉट एनाग्रम्स रॉबर्स थ्रेड


22

यह लुटेरों की इस चुनौती का सूत्र है

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

वे OEIS नंबर, इसके लिए स्रोत कोड और एक भाषा का नाम प्रस्तुत करेंगे ।

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

आप वर्ण कोड द्वारा आउटपुट कर सकते हैं या अपने समाधान में STDERR को शामिल कर सकते हैं, लेकिन केवल तभी जब पुलिस ने उनके छिपे हुए समाधान का संकेत दिया हो। STDOUT में दशमलव उत्पादन हमेशा एक वैध दरार है।

इस प्रकार पुलिस को किसी भी भाषा को खोजने के लिए जितना संभव हो उतना कठिन बनाने के लिए प्रोत्साहित किया जाता है जो उनके प्रतीकों की सूची का उपयोग करके कार्य करता है।

स्कोरिंग

सबसे अधिक दरार वाला व्यक्ति इस खंड का विजेता होगा। प्रत्येक समाधान के लिए केवल पहली दरार किसी के स्कोर की ओर गिना जाएगा।

लीडर बोर्ड

इस चुनौती में लगे हर एक के लिए बड़ा धन्यवाद।

यह खड़ा है के रूप में यहाँ नेता बोर्ड है

Place  User             Score
-----------------------------
1      Adnan            3
1      Kritixi Lithos   3
1      Emigna           3
1      milk             3
5      Steven H.        2
5      Wheat Wizard     2
5      jimmy23013       2
8      ETH Productions  1
8      Dennis           1
8      alleks           1
8      Martin Ender     1
8      Oliver           1
8      Conor O'Brien    1

यकीन नहीं होता कि मैं "एनाग्राम" वाला हिस्सा समझता हूं, क्या आप थोड़ा विस्तार कर सकते हैं?
बफ़र ओवर पढ़ें

@ TheBitByte अन्य समाधान में मूल के रूप में एक ही वर्ण के सभी का उपयोग करना है, लेकिन एक अलग क्रम में पुन: व्यवस्थित किया गया है।
गेहूं जादूगर

बिना किसी अतिरिक्त चरित्र के?
बफर ओवर पढ़ें

@ TheBitByte हाँ और किसी भी चरित्र को हटाए बिना
गेहूं जादूगर

जवाबों:


9

05AB1E , 38 बाइट्स, लोवो , A000290

nXtdief e():return X*X
pr e(input())##

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

बहुत संभव है कि कोई इच्छित समाधान न हो, लेकिन यह काम करता है।

व्याख्या

n      # square input
 X     # push 1
  t    # push sqrt(1)
   d   # push is_number(1.0)
    i  # if true do the rest of the code (1.0 is not a number so it will never execute)

1
1.0 is not a number? क्या आप कृपया विस्तार से बता सकते हैं?
ETHproductions

1
@ETHproductions: फ़ंक्शन यह is_numberजाँचता है कि संख्या केवल किससे बनी है 0-9। जैसा कि .एक संख्या नहीं है, यह गलत हो जाता है। समारोह एक अधिक वर्णनात्मक नाम का उपयोग कर सकता है :)
एमिग्ना

8

जोल्फ, 15 बाइट्स, अदनान , A000290

*&"?!#$|<=@\^{}

यहाँ कोशिश करो! निश्चित रूप से इरादा समाधान नहीं है, लेकिन हे, यह काम करता है।

व्याख्या

*&"?!#$|<=@\^{}
*                multiply
 &               the two inputs to this func, x, y: x && y
                 returns y if x and y, or the falsey argument.
  "?!#$|<=@\^{}  this string is always truthy, so the second arg is used.
                 two implicit inputs are taken, both equal to the first arg
                 so, this corresponds to *xx, which is x^2.

7

05AB1E , 49 बाइट्स, व्हीट विजार्ड , A000290

वास्तव में Emigna की दरार के समान दृष्टिकोण: पी।

n4i<({({)({[()]){))()()()turpetne/"*"*splint>}}}}

स्पष्टीकरण:

n          # Square the input
 4i        # If 4 == 1, do the following...
   <({...

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


1
नहीं समाधान मैं देख रहा था, लेकिन वैसे भी +1
गेहूं जादूगर


6

2sable , 7 बाइट्स, Kritii Lithos , A005843

कोड:

r^#ei2*

स्पष्टीकरण:

r         # Reverse the stack, which is a no-op
 ^        # XOR the input with itself, always leading to 0
  #       # If 1, break (which stops the program)
   e      # Compute input nPr input, which always leads to 1
    i     # If equal to one, do the following..
     2*   #   Multiply the input by 2.

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


यह अद्भुत है कि वास्तविक कोड केवल 2 बाइट्स कैसे है!
कृति लिथोस

6

हेक्सागोनी , 13 बाइट्स, अदनान , A002378

?"&\>=})\*!@<

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

सामने आया:

  ? " &
 \ > = }
) \ * ! @
 < . . .
  . . .

100% नहीं कि क्या यह मूल है, क्योंकि शीर्ष छोड़ दिया है \ अप्रयुक्त है।

<\>, बस दर्पण हैं, इसलिए कार्यक्रम वास्तव में पूरी तरह से रेखीय है:

?"&)}=*!@

?          Read input.
 "         Move back and left.
  &        Copy input.
   )       Increment copy.
    }=     Move forward and right and turn around (to face the n and n+1 edges).
      *    Multiply.
       !   Print.
        @  Terminate.

5

V , 13 बाइट्स, DJMcMayhem , A002275

v!:x]''"
@ai1

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

यह लेखक द्वारा इच्छित भाषा में पहला समाधान हो सकता है।


व्याख्या

v!:x]''"   Does nothing
@ai1       inserts 1 a times

शायद आपको DJMcMayhem को यह बताने देना चाहिए कि आपने इसे क्रैक किया है? ;)
1

@ETHproductions मैंने उसे चैट में कहा था कि मैं शायद उसे फिर से टिप्पणियों में बताऊंगा।
गेहूं जादूगर

1
This might be the first solution in the language the author intended.सटीक। :)
DJMcMayhem

5

2sable, कॉनर ओ'ब्रायन , A000290

~*

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

मुझे नहीं पता कि यह कैसे काम करता है, वास्तव में केवल एक ही कार्यक्रम है जो आवश्यकताओं को पूरा करता है और मैंने जिस भाषा में काम किया है, उसे खोजने के लिए मुझे केवल मजबूर होना पड़ता है।

डॉक्स के माध्यम से देखने के बाद, मैं एक स्पष्टीकरण के साथ आने में सक्षम हूं:

~         Push Input OR Input (always pushes the input)
 *        Multiply that by Input 

5

पायथ , 26 बाइट्स, स्टीवन एच। , ए 0923443

कोड:

tQ.qly 7:esau0euii s uxC !

ऑनलाइन कोशिश करें

काफी सरल:

 Q                            Reads input
t                             Substracts 1 from it
  .q                          Quits program (implicit print)
    ly 7:esau0euii s uxC !    None of this ever plays a part...
                                I just thought it'd be fun to scramble it.

2
इरादा समाधान! (माइनस द स्क्रैचिंग, बिल्कुल।)
स्टीवन एच।

1
वह तो कमाल है! अछा सुझाव। खेद है कि आप सीधे नहीं जानते हैं ... बहुत कम प्रतिनिधि।
Alleks

कोई बात नहीं! बधाई।
स्टीवन एच।

5

पायथन 3, 118 बाइट्स, ETHproductions, A042545

s,a=801**.5-28,[0,0==0]
for i in range(int(input())):a+=[a[i]+a[-1]*int(1/s)];s=1/s-1//s
(print(a[-2]),) #.0fhlmop|

Ideone पर इसका परीक्षण करें ।

कॉप जमा करना

i=input();s=1/(801**.5-28);a=[0,1]
for p in range(i):a+=[a[-2]+a[-1]*int(s)];s=1/(s-int(s))
print a[i]#,,,.//000fhlmo|

क्या अलग है

पुलिस सबमिशन 3 कारणों से अजगर 3 में काम नहीं करता है।

  • पायथन 2 के इनपुट फंक्शन स्वचालित रूप से इनपुट की एक लाइन निकालते हैं, जबकि पायथन 3 के समकक्ष सिर्फ एक स्ट्रिंग के रूप में लाइन को वापस करते हैं। हम बस इसे ठीक करने के लिए int कॉल कर सकते हैं ।

  • print पायथन 2 में एक बयान था, लेकिन यह पायथन 3 में एक समारोह है। विशेष रूप से, इसका मतलब है कि हमें इसके तर्क को कोष्ठक के साथ घेरना होगा।

इसका मतलब है कि हमें जरूरत है int()और (), लेकिन वे सभी पात्र टिप्पणी का हिस्सा नहीं हैं। इसका मतलब है कि हमें कुछ बदलाव करने होंगे।

अंश s के बजाय , हम 1 / s का ट्रैक रखते हैं ।

के प्रारंभ रों - s=1/(801**.5-28)- हो जाता है s=801**.5-28, वर्ण की बचत 1/()

[-] के अद्यतन में एक [ - ] का कारक int(s)बन जाता है int(1/s), पात्रों की लागत1/

एस - s=1/(s-int(s))- का अद्यतन s=1/s-1//s, पात्रों की लागत 1//, लेकिन पात्रों को बचाने के लिए बन जाता है (int())

()(int())कवर में सहेजे गए पात्र जिन्हें हमें कोड को पायथन 3 में पोर्ट करना था, लेकिन उन्हें प्राप्त करना हमारी लागत थी 1//। हम //टिप्पणी से ले सकते हैं , लेकिन हमें बचाना होगा1 कहीं और ।

एक तरह से (केवल एक?) की जरूरत बचत 1को बदलने के लिए है 1के प्रारंभ में एक साथ0==0 । इससे उन चार पात्रों का खर्च होता है, लेकिन हम 00टिप्पणी से ले सकते हैं ।

अब तक, हमारे पास निम्नलिखित कोड हैं।

i=int(input());s=801**.5-28;a=[0,0==0]
for p in range(i):a+=[a[-2]+a[-1]*int(1/s)];s=1/s-1//s
print(a[i]) #,,,.()0fhlmo|

में से एक ठीक करने के लिए =अब हम "देने", हम का आरंभीकरण पुनर्लेखन कर सकते हैं रों और एक एक भी काम के साथ: s,a=801**.5-28,[0,0==0]साथ ही, इस की बचत होती है एक; और एक लागत, , जिसे जोड़ा जा सकता है और टिप्पणी से हटाया जा सकता है।

दूसरे =को एक चर में इनपुट को स्टोर करके नहीं रखा जा सकता है, अर्थात, range(int(input()))इसके बजाय लेखन , पात्रों को सहेजते हुए i=। हम का उपयोग मैं के रूप में अच्छी तरह से पाश के बाद, लेकिन मैं वें के तत्व एक , सही से सिर्फ दूसरा एक है तो हम जगह ले सकता है iके साथ -2। उसी कारण से, a[-2]लूप बॉडी में प्रतिस्थापित किया जा सकता है i

अब हमारे पास पायथन 3 कोड काम करने की अनुमति है:

s,a=801**.5-28,[0,0==0]
for i in range(int(input())):a+=[a[i]+a[-1]*int(1/s)];s=1/s-1//s
print(a[-2]) #,.()0fhlmop|

हालाँकि, यह कोड Python 2 में भी काम करता है! इसे ठीक करने का एक तरीका इसके print(a[-2])साथ प्रतिस्थापित करना है (print(a[-2]),); टिप्पणी में हमारे पास आवश्यक वर्ण हैं। जैसा कि पहले उल्लेख किया गया है, प्रिंट पायथन 3 में एक फ़ंक्शन है, इसलिए यह टपल ( कोई नहीं ) का निर्माण करता है । हालांकि, पायथन 2 का प्रिंट स्टेटमेंट एक टुपल शाब्दिक के अंदर एक सिंटैक्सएयर है।


डांग, अच्छा ... शायद मुझे टिप्पणी-कम संस्करण लिखने में थोड़ा और समय बिताना चाहिए था। मैं अपना इच्छित समाधान पोस्ट करूंगा।
ETHproductions

मैंने अपने प्रोग्राम का एक संशोधित संस्करण बनाया है जो पायथन 2 और 3 दोनों में काम करता है, कोई टिप्पणी नहीं करता है, और इसका एक बहुत अलग (इच्छित) समाधान है। क्या यह एक अलग उत्तर के रूप में पोस्ट करने लायक है?
14

यदि यह पायथन 2 और 3 दोनों में काम करता है, तो यह एक वैध समाधान नहीं है। क्रैक मूल भाषा में काम नहीं कर सकता है।
डेनिस

मुझे समझ नहीं आ रहा है। इरादा दरार अजगर में नहीं है।
ETHproductions

ओह, आपका मतलब एक नया पुलिस सबमिशन है। मुझे लगा कि हम इस एक अलग दरार के बारे में बात कर रहे थे ... ज़रूर, आगे बढ़ो और इसे पोस्ट करें।
डेनिस



3

05AB1E , 12 बाइट्स, टस्कॉमी , A000012

1,(FI1=1=1,)

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

व्याख्या

1,            # print 1
  (           # negate input
   F          # that many times do (i.e. no times)
    I1=1=1,)  # the rest of the code

मजेदार। मेरे पास इसके लिए दूसरा कार्यक्रम नहीं था, क्योंकि मुझे समझ नहीं आया कि लुटेरे और लुटेरे कौन थे। आविष्कारशील जा रहा है अच्छा काम!
tuskiomi

3

05AB1E , 38 बाइट्स, कॉनर ओ'ब्रायन , A000290

n2iJ=>eval(Array(J).fill(J).jo`+`)|-2;

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


व्याख्या

यह इमीना की दरार पर आधारित है

n   #Squares the number
 2i #Runs the rest of the code if 2==1

मैंने अपना उत्तर इच्छित समाधान के साथ संपादित किया है। अच्छी नौकरी! मुझे अपने दृष्टिकोण पर पुनर्विचार करना होगा ...
कॉनर ओ'ब्रायन





2

पिप , 6 बाइट्स, DLosc , A000012

.()49o

मुझे लगा कि मैं पहले ओपी के एसोलंग की कोशिश करूँगा ;-)

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


मैं वास्तव में यह देखने के लिए उत्सुक था कि क्या कोई अलग है जहां यह काम करेगा। :) लेकिन अच्छी नौकरी।
DLosc

1

05AB1E , 25 बाइट्स, Mego , A000583

कोड:

nnYi=put("");prit`Y**4`,X

स्पष्टीकरण:

n       # Square the input
 n      # Square the squared input
  Y     # Constant that pushes 2
   i    # If equal to 1, do the following:
    =put...

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


ओह, आओ, तुम मुझे 12 सेकंड से हराया :)
Emigna

@Emigna उत्तरों के बीच का समय अलौकिक है: पी।
अदनान

1
यह पहली बार मैंने पोस्ट को दबाया नहीं था, इसलिए वे लगभग तात्कालिक हो गए थे :)
एमिग्ना

1

डुबकी , 8 बाइट्स, ओलिवर , A000042

(1J&F},1

व्याख्या

              #Implicit Input
(             #Start range loop
 1            #Push 1 to the stack
  J           #Join all the elements in the stack
   &          #End program
    F},1      #These are ignored

मजेदार बात यह है कि यह इच्छित भाषा थी! डुबकी ओलिवर द्वारा बनाई गई एक एसोलंग है।

कमांड-लाइन से टेस्ट केस और रनिंग डिप

$python3 dip.py
Dip v1.0.0 by Oliver Ni.
>>> (1J&F},1
> 4
1111
>>> (1J&F},1
> 7
1111111



1

डुबकी , 5 बाइट्स, ओलिवर , A000012

`¸WW/

अनुक्रम सिर्फ एक प्रिंट छापता 1है कि इनपुट क्या है। ओलिवर का जवाब प्रिंट 1.0। यह कार्यक्रम प्रिंट भी करता है 1.0। यह स्पष्ट रूप से इच्छित समाधान है।

व्याख्या

`¸                  # push character `¸`
  W                 # pushes 1000000
   W                # pushes 1000000 also
    /               # divides the last two items in stack resulting in 1.0
                    # implicit output (1.0)

वैकल्पिक समाधान (@milk के सौजन्य से)

उत्तल , 5 बाइट्स

WW¸`/

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

व्याख्या

                  // implicit input
W                 // pushes -1
 W                // pushes -1 also
  ¸               // calculates the LCM of the two numbers (which evaluates to 1)
   `              // finds its string representation
    /             // slices the string (so that it would evaluate to "1")
                  // implicit output

1
उत्तल में वैकल्पिक दरार: WW¸` /
दूध

@milk धन्यवाद! मैं अपने नवीनतम संपादन में यह जोड़ा
Kritixi lithos

आपका उत्तल कार्यक्रम थोथा काम नहीं करता जैसा आप सोचते हैं कि यह करता है। फिलहाल, यह -1 को दो बार धक्का देता है, एलसीएम उन्हें (जो 1 होगा), स्ट्रिंग प्रतिनिधित्व को पाता है, और अंत में "1"प्रत्येक [input]वर्ण द्वारा स्ट्रिंग (जो होगा ) को स्लाइस करता है (चूंकि इनपुट एक नंबर है।
GamrCorps

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