स्ट्रिंग की लंबाई सेट थ्योरी का प्रयोग


20

विकिपीडिया से प्राकृतिक संख्या के सेट-सैद्धांतिक परिभाषा

प्राकृतिक संख्याओं के सेट N को 0 से युक्त सबसे छोटे सेट के रूप में परिभाषित किया गया है और S (n) = n = {n} द्वारा परिभाषित उत्तराधिकारी फ़ंक्शन S के तहत बंद किया गया है।

इस तरह से परिभाषित पहली कुछ संख्याएँ 0 = {}, 1 = {0} = {{}}, 2 = {0,1} = {{}, {{}}}, 3 = {0,1,2 हैं } = {{}, {{}}, {{}, {{}}}}।

प्राकृतिक संख्या की इस परिभाषा का उपयोग करते हुए एक स्ट्रिंग की लंबाई गिनती।

इनपुट किसी भी लम्बाई की एक-zA-जेड से वर्णों की स्ट्रिंग

आउटपुट विभाजक के बिना सेट अंकन में स्ट्रिंग की लंबाई

उदाहरण

इनपुट खाली स्ट्रिंग

आउटपुट {}

इनपुट एक

आउटपुट {{}}

इनपुट aaaa

आउटपुट {{} {{}} {{}} {{}} {{}} {{}} {{} {{}}}}

'Aaaa' के साथ विभाजक है के लिए पठनीयता उत्पादन के लिए

{ 
    {} 
    {{}} 
    {{} {{}} } 
    {{}   {{}}   {{} {{} } }   }
}

शर्तेँ

  1. संख्या 9 के लिए 0 अंक कोड में प्रदर्शित करने के;
  2. चरित्र कोड रूपांतरण संख्या उत्पन्न करने के लिए का कोई उपयोग नहीं;
  3. अंकगणित और वेतन वृद्धि सहित अंकगणितीय गणनाओं के लिए + - * / का कोई उपयोग नहीं;
  4. कोई गणितीय बूलियन तर्क के अलावा अन्य संचालन;
  5. इनपुट स्ट्रिंग बाइट लंबाई निर्धारित करने में शामिल नहीं किये जाते;

विजेता बाइट में सबसे छोटा कोड लंबाई।

जैसा कि यह मेरा पहला प्रश्न है मुझे उम्मीद है कि मैंने इसे स्पष्ट और कठोर बना दिया है। दोस्ताना सलाह स्वीकार कर लिया।


हम्म, आपको बुला रहा बिना एक पुनरावर्ती परिभाषा लागू कर सकते हैं f(n-1)?
मार्टिन Ender

1
मेरे पास एक समाधान है (बाइट की लंबाई के मामले में गैर-इष्टतम) जो पुनरावृत्ति का उपयोग नहीं करता है। यदि A सरणी है तो A.pop (); f (A) पुनरावर्ती है।
jing3142

ये एक अच्छा बिंदु है।
मार्टिन Ender

1
@ jing3142 एक समाधान लागू करने के लिए खुद को सुनिश्चित करने के लिए कुडोस यह सुनिश्चित करने के लिए। बड़ा सवाल के लिए +1।
केली स्ट्रैंड

A-zA-Z के लिए प्रतिबंध का क्या अर्थ है? क्या हमें व्हॉट्सएप / बकवास का पता लगाना चाहिए? या हमें केवल यह अपेक्षा करनी चाहिए और सामग्री पर स्ट्रिंग, लंबाई की रिपोर्ट करें?
VX

जवाबों:


7

GolfScript ( 18 17 बाइट्स)

'{'\{;.'}'++}/'}'

स्टैक पर इनपुट लेता है (इसलिए यदि स्टड के माध्यम से एक प्रोग्राम के रूप में चलाया जाता है)। पत्तियां स्टैक पर दो तारों के रूप में उत्पादन (इसलिए यदि एक कार्यक्रम के रूप में चलाने के लिए, सही उत्पादन stdout के लिए भेज दिया जाता है)।

स्टैक पर एक भी स्ट्रिंग छोड़ने के लिए, या तो संक्षिप्त +करने के लिए, या विकल्प का उपयोग करें

'{}'\{;.);\'}'++}/

विच्छेदन

# Stack: input-str
'{'\
# Stack: <0< input-str  where <0< means the string representing 0 without its final }
# Loop over each character of the input string
{
    # Stack: <n< char
    # Discard the input character
    ;
    # Concatenate two copies of <n< and a }
    .'}'++
}/
# Push the final } to the stack
'}'

वैकल्पिक:

# Stack: input-str
'{}'\
# Stack: <0> input-str  (where <0> means the string representing 0)
# Loop over each character of the input string
{
    # Stack: <n> char
    # Discard the input character
    ;
    # Duplicate <n> and remove the final '}'
    .);
    # Stack manipulations
    \'}'
    # Stack: <n>-less-final-'}' <n> '}'
    # Concatenate the three strings to get <n+1>
    ++
}/

प्रतिबंधों का प्रभाव

यदि वेतन वृद्धि की अनुमति थी, तो यह 15-बाइट समाधान की अनुमति देगा

'{}'\{;..,(/*}/

12

हास्केल फ़ंक्शन, 35 34 अक्षर

f[]="{}";f(_:x)='{':f x++tail(f x)

हार्डकोड इनपुट के साथ हास्केल प्रोग्राम, ४। या ४ ९ 47 या 48 वर्ण

 f[]="{}";f(_:x)='{':f x++tail(f x);main=print$f"aaaa"

(47 वर्ण यदि आपको आउटपुट के आसपास अतिरिक्त उद्धरण से ऐतराज नहीं है, यदि आप ऐसा करते हैं, तो कुल 48 वर्णों के putStrबजाय उपयोग करें print)

हास्केल कार्यक्रम, 51 50 अक्षर

f[]="{}";f(_:x)='{':f x++tail(f x);main=interact f

यदि आप आदेश को उलटने के साथ ठीक कर रहे हैं, क्योंकि यह एक सेट है, तो आप उपयोग कर सकते हैं: f [] = "{}}; f (_: x) = '{': f x ++ (tail.f) x को बचाने के लिए x चरित्र।
isaacg

@ आइसाकग नाइस वन। ओपी हमें बताना चाहिए कि क्या वह मन है, हालांकि।
जॉन डेवोरक

जैसा कि इसके एक निर्धारित क्रम से कोई फर्क नहीं पड़ता है, इसलिए @isaacg का सुझाव अच्छा है
jing3142

5

अजगर 3 - 64

o=['{}']
for a in input():o+=['{'+''.join(o)+'}']
print(o.pop())

यदि इनपुट को इनलाइन करने की अनुमति है:

अजगर 2 - 54

o=['{}']
for a in'whatever':o+=['{'+''.join(o)+'}']
print o.pop()

कच्चे इनपुट () इनपुट स्ट्रिंग ही नहीं inputing की विधि नहीं है। संभव नहीं है कि भाषाओं की सीमा से परिचित होने के कारण मैं स्ट्रिंग की लंबाई को रद्द कर रहा था, अगर w = 'aaaaaaaaaaaa' जैसी कोई चीज कोड के भीतर आवश्यक थी। क्षमा करें यदि स्पष्ट नहीं है। फिर से शब्दों में किसी भी मदद स्वीकार किए जाते हैं।
jing3142

समझा। मैं अपने कोड के अनुसार फिर से लिखूंगा। सामान्य में, हालांकि, मुझे लगता है कि आप सिर्फ इतना है कि लाइन से बाहर छोड़ देना चाहिए। अनिवार्य रूप से हर भाषा में I / O सिस्टम होता है।
isaacg

आप का उपयोग करके एक प्रतीक को बचा सकता है o[-1]के बजायo.pop()
एलैंड

1
"कोड में प्रदर्शित होने के लिए कोई अंक 0 से 9 नहीं है?"
isaacg

1
पहले एक के लिए एक अजीब चरित्र-सहेजें: प्रारंभ करें o=[], जो o=['{}']एक चरण के बाद बन जाता है , और इनपुट को एक के बाद एक के साथ बदलकर '_'+input(), स्थान को काटकर in
XNOR

3

जावास्क्रिप्ट 70 (वर्ण)

s='';c=prompt().split('');while(c.pop()){s+='{'+s+'}'}alert('{'+s+'}')

यह सवाल करने से पहले मेरी प्रयास था। मैं किसी को जावास्क्रिप्ट से अधिक ज्ञान के साथ ग्रहण करूंगा जो शायद मुझे हरा सकता है।

आगे की कटौती के लिए आपको जान ड्वोरक और पीटर टेलर का शुक्रिया

अब 62

s='{';c=prompt().split('');while(c.pop())s+=s+'}';alert(s+'}')

और अब 61

s='{';for(c=prompt().split('');c.pop();)s+=s+'}';alert(s+'}')

मूल कोड की व्याख्या

खाली होना तय है

इनपुट स्ट्रिंग को c में विभाजित करें और एक ऐरे में विभाजित करें

हालांकि ऐसा करना संभव है (c का एक वर्ण ऐसा करना) और उत्तराधिकारी के रूप में s = s {s} रीसेट करें

उत्पादन वर्तमान s लेकिन सेट कोष्ठक के साथ घेरने की जरूरत है।


इसके बाद आपको ब्रेसिज़ की आवश्यकता नहीं है while(एक वर्ण को बचाता है)।
जॉन ड्वोरक

1
वहाँ एक 7 चार जे एस के किसी भी अधिक जानकारी के बिना बचत है आवश्यक: आरंभ s='{'और दो खाई '{'+। (यह तब मेरे जीएस समाधान की तरह व्यवहार करता है)। वहाँ का उपयोग करके एक और 1-चार बचत है forके बजाय whileऔर के लिए लूप initialisation करने के लिए दो initialisations में से एक में खींच रहा है।
पीटर टेलर

@ peter-taylor सुनिश्चित नहीं है कि आप लूप के लिए कैसे आवेदन करें। मैंने केवल गिनती के लिए कभी इसका इस्तेमाल किया है।
jing3142 16

3
for(a;b;c){d}a;while(b){d;c}अधिकांश भाषाओं में सीधे समतुल्य है , जिनमें दोनों हैं। इसलिए जब for(;b;)के समान है while(b)प्रभाव और चरित्र गिनती में, for(a;b;)ऊपर एक चार की बचत होती है a;while(b)और प्रभाव में समान है।
पीटर टेलर

@ एक टिप्पणी के भीतर बहुत स्पष्ट और संक्षिप्त विवरण के लिए पीटर-टेलर +1
jing3142

3

जे - 22 20 चार

'{','}' '{'&(,,~)~#

इसे कैसे प्राप्त किया जा सकता है:

   #'123'                      NB. string length
3
   'Left' (,,~) 'Right'        NB. dyad to concat L,R,R
LeftRightRight
   '{' (,,~) '}'               NB. using braces
{}}
   '{'&(,,~) '}'               NB. bind left argument, now it's a monad
{}}
   '{'&(,,~) '{'&(,,~) '}'     NB. twice
{{}}{}}
   '{'&(,,~)^:2 '}'            NB. ^: is monad functional power
{{}}{}}
   '{'&(,,~)^:3 '}'            NB. any integer
{{{}}{}}{{}}{}}
   3 '{'&(,,~) '}'             NB. convenient feature of dyadic &
{{{}}{}}{{}}{}}
   '}' '{'&(,,~)~ 3            NB. swap argument order
{{{}}{}}{{}}{}}
   '}' '{'&(,,~)~ #'123'       NB. using string length
{{{}}{}}{{}}{}}
   '{', '}' '{'&(,,~)~ #'123'  NB. add final brace
{{{{}}{}}{{}}{}}
   ('{','}' '{'&(,,~)~#) '123' NB. works as a verb
{{{{}}{}}{{}}{}}

वैकल्पिक रूप से, यह लिखा जा सकता है '{','{'&(,,~)&'}'@#, जिसका अर्थ समान है।

उपयोग:

   '{','}' '{'&(,,~)~# 'aaaa'
{{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}
   f =: '{','}' '{'&(,,~)~#  NB. can be assigned to a function
   f 'VeryBig'
{{{{{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}{{{{}}{}}{{}}{}}{{{}}{}}{{}}{}}

2

हास्केल - 35 सहायक

g[]="{}";g(_:x)=(init.g)x++g x++"}"

समाधान जन ड्वोरक के एक से प्रभावित है, लेकिन आदेश को उलट किए बिना।


2

स्काला, 64 वर्ण

def f(s:String):String=s"{${s.tails.toSeq.tail.map(f)mkString}}"

sइस कोड में दोनों ब्रेसिज़ और भूमिका निभाने वाली दोहरी भूमिकाओं पर ध्यान दें ।

EDIT: एक अंक निकाला


कोड में एक अंक है
jing3142

@ jing3142 उफ़। अब नहीं है।
करोल एस

2

पायथन 3 (44)

s='{'
for _ in input():s+=s+'}'
print(s+'}')

प्रत्येक चरण पर, sअंतिम }हटाए गए सेट के साथ स्ट्रिंग का प्रतिनिधित्व करता है। हम सेट का प्रतिनिधित्व n+1करने वाले सेट nको रिलेशनशिप f (n + 1) = f (n) ({f (n)} से दर्शाते हैं। स्ट्रिंग्स के साथ संघ को लागू करने के लिए, हम स्ट्रिंग को {f (n)} के लिए जोड़ते हैं, जो कि ठीक है sलेकिन अंतिम }रिटर्न के साथ है, और }परिणाम में फाइनल को शामिल करने की उपेक्षा करता है । अंत में, हम '}'मुद्रण से पहले एक अंतिम वापस जोड़ते हैं ।

अगर मैं स्ट्रिंग को हार्डकोड कर सकता हूं, तो कैरेक्टर काउंट 35 कैरेक्टर तक कट जाता है, जिससे पैंथर 2 को स्विच किया जा सकता है print

s='{'
for _ in'string':s+=s+'}'
print s+'}'

हो सकता printहै कि print'{'+sएक उल्टे के साथ ऐसा करने से अंतरिक्ष को बचाने का कोई तरीका हो s, लेकिन यह +=सही पर संलग्न होने के साथ गड़बड़ करता है ।


2

gs2, 12 बाइट्स

7b 7d 05 27 a0 42 30 30 e4 43 2e 32

स्मृति सहायकों:

"{}"
right-uncons @0 swap + + b5
rot length times

1

गणितज्ञ, 115 वर्ण

StringReplace[ToString@Function[s,NestWhile[#~Append~#&,{},(s~Read~Character//StringQ)&]]@StringToStream@"test",", "->""]

दिखाए गए अनुसार पूर्ण कोड में 121 वर्ण हैं, लेकिन उनमें से 6 का उपयोग इनपुट स्ट्रिंग ( "test") के लिए किया जाता है, जो कि नियमों के अनुसार गिनती नहीं करता है।

इस आवश्यकता के बिना कि कोई सीमांकक नहीं हैं, कोड की लंबाई को 24 वर्णों से कम किया जा सकता है; स्ट्रिंग में स्पष्ट रूपांतरण के बिना फिर एक और 9 वर्णों को हटाया जा सकता है।


1
मैंने सोचा कि अपराधियों की आवश्यकता को दूर करना, जो आमतौर पर सेट नोटेशन में आवश्यक हैं, मैं कोड आकार को कम करने में मदद कर रहा था। इसलिए यदि उनका उपयोग करना आपके कोड आकार को कम करता है तो आगे बढ़ें और उनका उपयोग करें।
jing3142

1

रूबी, 27, धोखेबाज़

a=*a
gets.chars{a=*a,a}
p a

संदिग्ध बातें:

  1. आउटपुट जैसा दिखता है [[], [[]], [[], [[]]], [[], [[]], [[], [[]]]]]
  2. माणिक के लिए इनपुट के अधिकांश तरीकों में एक अनुगामी न्यूलाइन शामिल होगी, जो गिनती को 1 से बढ़ाती है।

1
यह पूरी तरह से वैध होना चाहिए यदि आप inspectमैन्युअल रूप से सरणी और trपरिणाम।
जॉन ड्वोरक

1

शुद्ध बैश, ५४

f()([ $@ ]&&(a=`f ${@%?}`
echo $a{$a}))
echo {`f $@`}

आउटपुट:

$ ./strlenset.sh
{}
$ ./strlenset.sh ए
{{}}
$ ./strlenset.sh आ
{{} {{}}}
$ ./strlenset.sh आआ
{{} {{}} {{} {{}}}}
$ ./strlenset.sh आआआ
{{} {{}} {{} {{}}} {{} {{}} {{} {{}}}}}
$ 

1

जूलिया ४३

f(z)="{"foldl((x,y)->"$x{$x}","",{z...})"}"

निर्माण {z ...} स्ट्रिंग z को एक सरणी में विस्तारित करता है। सामग्री की अनदेखी करने वाले एरे के सभी तत्वों पर लूप मोड़ें और इसके बजाय खाली स्ट्रिंग से निर्माण करें। समारोह तह जूलिया 0.30 में उपलब्ध है।

नमूना आउटपुट

julia> f("")
"{}"
julia> f("aa")
"{{}{{}}}"
julia> f("aaaa")
"{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}"
julia> f("aaaaaa")
"{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}"


1

मेथेमेटिका, 45 57 48 बाइट्स

"{"~~Fold[#~~"{"~~#~~"}"&,"",Characters@#]~~"}"&

एक 36 बाइट्स समाधान:

Fold[{##{##}}&@@#&,{},Characters@#]&

हालाँकि, यह कुछ अंकगणितीय गणनाओं का उपयोग करता है।


0

डेल्फी एक्सई 3 (264)

ठीक है, मैं भी दूसरे के करीब नहीं आया, लेकिन यह करने के लिए मजेदार था :)
शायद इसे उखाड़ फेंकना। यह देखने के लिए कि क्या ऐसा करने का एक बेहतर तरीका है।

golfed

uses System.SysUtils;var s,f:string;a:TArray<char>;b:TArray<string>;i,x:integer;begin readln(s);a:=s.ToCharArray;f:='{';setlength(b,Length(a));for I:=Low(a)to High(a) do begin s:='{';for x:=Low(b)to High(b)do s:=s+b[x];b[i]:=s+'}';f:=f+b[i];end;writeln(f+'}');end.

Ungolfed

uses
  System.SysUtils;
var
  s,f:string;
  a:TArray<char>;
  b:TArray<string>;
  i,x:integer;
begin
    readln(s);
    a:=s.ToCharArray;
    f:='{';
    setlength(b,Length(a));
    for I:=Low(a)to High(a) do
    begin
      s:='{';
      for x:=Low(b)to High(b)do
        s:=s+b[x];
      b[i]:=s+'}';
      f:=f+b[i];
    end;
    writeln(f+'}');
end.

परीक्षण के परिणाम

लंबाई 0..10 के साथ परीक्षण तार

{}
{{} }
{{} {{}} }
{{} {{}} {{}{{}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}}} }
{{} {{}} {{}{{}}} {{}{{}}{{}{{}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}}} {{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}{{}{{}}{{}{{}}}{{}{{}}{{}{{}}}}}}}}}} }

कोशिश करने के लिए धन्यवाद। मेरे दिमाग में मैं एक गणितीय ऑपरेशन के रूप में लंबाई पर विचार कर रहा था क्योंकि यह एक संख्या देता है और जैसा कि 'फॉर' लूप का उपयोग होता है जिसमें गिनती शामिल है।
jing3142

0

पर्ल 5: 33 अक्षर

यह बिल्कुल स्पष्ट नहीं है कि मुझे कौन से वर्णों को समाधान के भाग के रूप में गिनना चाहिए। शायद echo ... |हिस्सा नहीं है क्योंकि यह सिर्फ एक लाइन को स्टड को खिलाने के लिए उपयोग किया जाता है। शायद पर्ल बाइनरी का नाम नहीं है, क्योंकि आप नाम बदल सकते हैं जो आप चाहते थे।

इसलिए मैंने गिना है कि कमांड-लाइन स्विच पर्ल के पास हैं, उद्धरण चिह्न पर्ल कोड के चारों ओर लिपटे हुए हैं, और पर्ल कोड स्वयं।

#                                1         2         3
#                     12  3456789012345678901234567890123
$ echo "aaaa" | perl -ple'$s.="{$s}"while s/.//;$_="{$s}"'

साथ ही, संबंधित


1
आपको plआश्चर्यजनक रूप में गिना जाना चाहिए , लेकिन आपको -eकोड के आसपास और उद्धरण मुफ्त में मिलते हैं। रेफ
पीटर टेलर

0

पर्ल 6: 37 अक्षर

say ({"\{@_.join()\}"}...*)["(input string)".chars]

या STDIN से:

say ({"\{@_.join()\}"}...*)[get.chars]

{"\{@_.join()\}"}...*प्राकृतिक नंबरों के सेट रूपों की एक आलसी सूची बनाता है, और हम बस उसी को पकड़ते हैं जिसकी हमें ज़रूरत है get.chars

आलसी सूची अधिक आसानी से लिखी जा सकती है:

-> *@prev { '{'~ @prev.join ~'}' } ... *

जो परिभाषा के समान सुंदर है।


0

डार्ट: 85 अक्षर

a(p,i)=>(--i).isNegative?p:a("$p{$p}",i);
main(s){print("{${a("",s.first.length)}}");}

(पठनीयता के लिए अतिरिक्त न्यूलाइन के साथ)।

"0" का उपयोग नहीं करने की आवश्यकता वास्तव में काटती है, अन्यथा .firstहोगी [0]और (..).isNegativeहोगी ..<0


0

पायथ, 13 बाइट्स

+u++GG\}z\{\}

यह @ xnor के पायथन जवाब के बराबर गोल्फ वाला पायथ है। ध्यान दें कि पाइथ इस प्रश्न से नया है, इसलिए यह उत्तर इस चुनौती को जीतने के लिए योग्य नहीं है।

प्रदर्शन।



0

जावास्क्रिप्ट, 171 149 147 142 बाइट्स

(आगे चलकर संभावना होगी

। एन = शीघ्र () विभाजन ( ""); के लिए (एक = []; n.pop ();) a.push (a.slice ()); चेतावनी (JSON.stringify ({a: एक}) [ आर = "की जगह"] (/ [^ \ [\]] / g, "") [आर] (/ \ [/ जी, "{") [आर] (/ \] / जी, "}")) ;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.