Revu'a बाहर जादू


16

वास्तव में ना तो Atbash Self Palindromes से प्रेरित है और ना ही Generalized Gematria Calculator द्वारा ।

एक स्ट्रिंग को देखते हुए एस लंबाई के एन , उत्पादन Revu'a अनुक्रम , जिनमें से पहले चरित्र है रों , के पहले दो अक्षर के रों , ... पहले एन -2 के पात्रों रों , पहले एन -1 के पात्रों रों , संपूर्ण एस

स्ट्रिंग में केवल यूनिकोड (कोई भी एन्कोडिंग जो आप चाहते हैं) अक्षर शामिल हैं जिनकी मजबूत दिशात्मकता है और 0x0000FF के माध्यम से 0x0000 की सीमा में पाए जाते हैं। हालाँकि, कोई भी निर्देशन नियंत्रण वर्ण नहीं होगा। किसी भी तार में सभी वर्णों की एक ही दिशा होगी।

आप सरणी संकेतन में लौट सकते हैं ["t","te","tes","test"], अंतरिक्ष-पृथक स्ट्रिंग "t te tes test"के रूप में, बहु-पंक्ति पाठ
t
te
tes
test
, पूर्व-स्वरूपित सरणी के रूप में

टी
ते
ट
परीक्षा
, या ऐसा ही कुछ। अग्रणी, अलग, और अनुगामी रिक्ति की मात्रा महत्वपूर्ण नहीं है, और न ही नईलाइन अनुगामी है। अगर संदेह में पूछें।

दाएं-से-बाएं इनपुट का परिणाम दाएं-से-बाएं आउटपुट में उचित क्रम में होना चाहिए:
इनपुट: "נחמן"
आउटपुट: "נ נח נחמ נחמן"या

נ
נח
נחמ
נחמן
, या ["נ","נח","נחמ","נחמן"]। के अलावा अवैध परिणाम हैं "נחמן נחמ נח נ", "ן מן חמן נחמן"और "נחמן חמן מן ן"

जवाबों:


17

दिल्लोग एपीएल, 2 बाइट्स

,\

सहवर्ती द्वारा कम संचयी। कोशिश करो यहाँ

जब आप उपसर्ग करते हैं तो आउटपुट का स्वरूपण अच्छा होता है , लेकिन यह स्पष्ट रूप से बिना सही क्रम दिखाता है।


2
वास्तव में एक ही समाधान के। में एक ही कारण के लिए काम करता है
जॉन्स

@ जॉनी क्या K यूनिकोड को संभालता है?
आदम

12

जावास्क्रिप्ट (ईएस 6), 27 26 25 बाइट्स

@ ब्यूटिक और @ मार्टिनबटनर को एक बाइट थैंक्स दिया, एक थैंक्स टू @ नाइल

x=>x.replace(/.?/g,"$` ")

जेएस समारोह के कुछ अंतर्निहित सुविधाओं का लाभ उठाता है .replace। विशेष रूप से, प्रतिस्थापन में, $`मिलान किए गए चरित्र से पहले सब कुछ हो जाता है। रेगेक्स का उपयोग करने के /.?/gबजाय /./gइसका मतलब है कि यह अंत में खाली स्ट्रिंग से भी मेल खाता है।


मैंने एक और बाइट बचाई: f=x=>x.replace(/.?/g,"$")`। आपको एक अतिरिक्त अग्रणी स्थान मिलता है लेकिन इसकी अनुमति है।
नील

@ नील धन्यवाद, मेरे पास कोई सुराग नहीं था जो काम करेगा!
22

ऊ, मैं अपने `ठीक से उद्धृत करना भूल गया, लेकिन मैं देख रहा हूं कि आपने जो काम किया, उसका मतलब है।
नील

6

जाप, 10 4 बाइट्स

मुझे महसूस नहीं हुआ कि एक संचयी कमी इस मामले में इतनी उपयोगी होगी। :-)

UŒ+

एक सरणी के रूप में आउटपुट, डिफ़ॉल्ट रूप से अल्पविराम-अलग। यदि इसकी अनुमति नहीं है, तो इसके बजाय इस 6-बाइट कोड का उपयोग करें:

U¬å+ ·

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

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

      // Implicit: U = input string
U¬    // Split U into chars.
  å+  // Cumulative reduce: loop through each item in the array, concatenating it to the total.
      // ["t","e","s","t"] => ["t","te","tes","test"].
      // Implicit: output last expression

7
वाक्यांश का उपयोग कर रहा है "इसे ऑनलाइन आज़माएं!" और इसे ऑनलाइन प्रयास करने के लिए लिंक नहीं कर रहा हूँ ! नैतिक रूप से स्वीकार्य? : पी
मार्टिन एंडर

3
@ मार्टिनबटनर डेनिस को ट्रेडमार्क किए जाने से पहले मैं एक महीने के लिए जाप के जवाब में उस वाक्यांश का उपयोग कर रहा था। मुझे लगता है कि मुझे इसका उपयोग करने का कुछ नैतिक अधिकार होना चाहिए: P
ETHproductions

6

ब्रेनफक, 40 बाइट्स

मेरा कंसोल दाएँ-से-बाएँ वर्णों का समर्थन नहीं करता है, लेकिन मुझे नहीं लगता कि यह काम करेगा: c

++++++++++>,[>,]<[<]>[[<+>-]<[<]>[.>]>]

Ungolfed:

++++++++++> # Store 10 (Newline)
,[>,]       # Store input
<[<]>       # Goto first character
[           # While next character
  [<+>-]    # Copy character to the left
  <[<]>     # Goto first character
  [.>]      # Print all charaters
  >         # Go to next character
]

13
आप उन्हें अलग उत्तर के रूप में पोस्ट कर सकते हैं।
निकेल

20
आपको उन्हें अलग उत्तर के रूप में पोस्ट करना चाहिए
तिमवी

17
आपको उन्हें अलग उत्तर के रूप में पोस्ट करना होगा
17

21
आप उन्हें अलग उत्तर के रूप में पोस्ट करेंगे
टिमवी

11
आपने मुझे अलग-अलग उत्तरों के रूप में पोस्ट करने के लिए सहमत किया
YoYoYonnY

5

रेटिना, 11 7 बाइट्स

.
 $`$0

आउटपुट अंतरिक्ष-पृथक है, जिसमें एक अग्रणी स्थान और एक अनुगामी लाइनफीड है।

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


perl -pE 's/./$पोस्टरिटी के लिए, यह पर्ल को 5 और बाइट्स के लिए पोर्टेबल है: $ & \ n / g'`। (मैं 11 महीने देर से आया, मुझे पता है)
दादा

4

अजगर, ३५

f=lambda s:f(s[:-1])+[s]if s else[]

झूठा है and/orक्योंकि पुनरावृत्ति को आसान बनाने के लिए उपयोग करने के लिए एक रास्ता नहीं मिल सकता []है।

पुनरावर्ती समाधान, स्ट्रिंग्स की एक सूची देता है।

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


4

प्रोलोग (एसडब्ल्यूआई), 60 49 बाइट्स

कोड:

p(X):-findall(S,atom_prefix(X,S),[_|R]),write(R).

व्याख्या की:

atom_prefix X सेट के साथ इनपुट और S के रूप में एक चर देता है एटम X का 1 उपसर्ग खाली परमाणु के साथ शुरू होता है।

findall सभी समाधान प्राप्त करता है और उन्हें एक सूची में रखता है।

[_ | R] सिर (खाली परमाणु) को फेंक देता है और पूंछ को R में संग्रहीत करता है

उदाहरण:

p('נחמן').
[נ, נח, נחמ, נחמן]

p('test').
[t, te, tes, test]

इसे यहाँ ऑनलाइन आज़माएँ

संपादित करें: आर में केवल पूंछ को संग्रहीत करके 11 बाइट्स को बचाया गया ।



3

ग्नू सेड, 21

स्कोर में -Esed के विकल्प के लिए +1 शामिल है :

:
s/^(\S+)\S/\1 &/
t

एलटीआर के लिए काम करता है, लेकिन आरटीएल नहीं - मैं उस बिट से चूक गया। । वास्तव में यह काम करता है , आरटीएल मेरे टर्मिनल में सही ढंग से प्रस्तुत नहीं कर रहा था। यह एक समझदार टेक्स्ट एडिटर (जैसे emacs) में देखे गए IO के साथ ठीक काम करता है। यह Ideone में भी काम करता है:

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


3

ब्रेकीलॉग , 5 बाइट्स (गैर-प्रतिस्पर्धात्मक)

@[@w\

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

व्याख्या

@[       Take a prefix of the input
  @w     Write this prefix to STDOUT followed by a linebreak
    \    False: try another prefix

दाएं-बाएं के तार ठीक से काम करते दिखते हैं, भले ही मैंने कभी भी उन पर विचार नहीं किया।


गैर-प्रतिस्पर्धा क्यों?
21

@ Adám @[और @wअप्रैल / मई 2016 के बाद आवश्यक रूप से लागू किया गया था। एक Github पर सटीक तारीख पा सकता है लेकिन यह चुनौती प्रस्तुत करने से पहले निश्चित रूप से नहीं है।
घातक

2

CJam, 9 बाइट्स

l{N2$@+}*

आउटपुट लाइनफीड-अलग है।

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

व्याख्या

l     e# Read input.
{     e# Fold this block over the input, which is effectively a foreach-loop which skips
      e# the first character...
  N   e#   Push a linefeed.
  2$  e#   Copy the previous string.
  @   e#   Pull up the current character.
  +   e#   Concatenate.
}*

मुझे पूरी उम्मीद थी कि सीजेएम इससे छोटा होगा।
तिमवी

@ टिमिमे न तो "प्राप्त सभी उपसर्ग / प्रत्यय" हैं और न ही सामान्यीकृत संचय के लिए एक उच्च-क्रम फ़ंक्शन है, इसलिए भले ही यह इष्टतम नहीं है, मुझे संदेह है कि इसे काफी पीटा जा सकता है।
मार्टिन एंडर

Ll{+_p}/;एक ही लंबाई, पोस्टिंग है क्योंकि मुझे यकीन नहीं है कि अगर अधिक अनुभव वाला कोई व्यक्ति इसे और अधिक गोल्फ करने में सक्षम हो सकता है, और शायद उद्धरण चीज़ों को भी ठीक कर सकता है: P
FryAmTheEggman 18

2

जावास्क्रिप्ट, 36 बाइट्स

x=>[...x].map((c,i)=>x.slice(0,i+1))

डेमो:

a=x=>[...x].map((c,i)=>x.slice(0,i+1));
document.write(
  a("test")+"<br>"+
  a("נחמן")
)

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


2

मेरा कंसोल दाएँ-से-बाएँ वर्णों का समर्थन नहीं करता है, लेकिन मुझे नहीं लगता कि यह काम करेगा: c

सी, 74 बाइट्स (दूसरी प्रविष्टि)

char m[2<<9];i;main(){do{m[i]=getchar();printf("%s ",m);}while(m[i++]>0);}

Ungolfed:

#include <stdio.h>

// char, because `printf("%s", str);` expects a array of characters.
char str[2<<9];
int  str_len = 0;
int main(void) {
    do {
        str[str_len]=getchar();
        printf("%s ", str);
    } while(m[i++]>0);
    return 0;
}

2

मेरा कंसोल दाएँ-से-बाएँ वर्णों का समर्थन नहीं करता है, लेकिन मुझे नहीं लगता कि यह काम करेगा: c

सी, 105 बाइट्स (3 वीं प्रविष्टि)

m[2<<9];i;j;k;main(){while((m[i++]=getchar())<0);for(;j<i;j++,putchar(10))for(k=0;k<j;k++)putchar(m[k]);}

Ungolfed:

#include <stdio.h>

int str[2<<9];
int str_len = 0;
int main(void) {
    do {
        str[str_len] = getchar();
    } while(str[str_len++] != EOF);
    int i;
    for(i=0; i<str_len; i++) {
        int j;
        for(j=0; j<i; j++) {
          putchar(str[j]);
        }
        putchar(10);
    }
}

2

टीआई-बेसिक, 18 बाइट्स

For(X,1,10^(9
Disp sub(Ans,1,X
End

तकनीकी रूप से मान्य नहीं: TI-BASIC यूनिकोड का समर्थन नहीं करता है।

इसे नाम दें prgmA, और इनपुट का उपयोग करें Ans

कार्यक्रम की पुनरावृत्ति कम होगी, लेकिन चर को आरंभ करने का कोई तरीका नहीं होगा। इसलिए, हम प्रत्येक पुनरावृत्ति पर इनपुट का एक विकल्प प्रदर्शित करते हैं। इनपुट को कभी भी अधिलेखित नहीं किया जाता है, क्योंकि Disp कोई मान नहीं देता है।

आखिरकार, पूरे स्ट्रिंग को प्रिंट करने के बाद प्रोग्राम एक त्रुटि के साथ समाप्त होता है।



2

जावा 7, 95 92 बाइट्स

String d(String a){for(int i=a.length();i-->0;a=a.substring(0,i)+(i>0?"\n":"")+a);return a;}

पिछला उत्तर ( 95 बाइट्स ):

String c(String s){String r="";for(int i=0;++i<=s.length();r+=s.substring(0,i)+"\n");return r;}

मैंने एक पुनरावर्ती दृष्टिकोण की कोशिश की, लेकिन मैं वास्तव में काम करने के लिए इसे प्राप्त नहीं कर सका। शायद कोई और होगा (इसके लिए लूप से छोटा)।

अनगुल्ड और परीक्षण के मामले:

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

class M{
  static String d(String a){
    for(int i = a.length(); i-- > 0; a = a.substring(0, i) + (i > 0 ? "\n" : "") + a);
    return a;
  }

  public static void main(String[] a){
    System.out.println(c("test"));
    System.out.println();
    System.out.println(c("נחמן"));
  }
}

आउटपुट:

t
te
tes
test

נ
נח
נחמ
נחמן




1

S, 7 चार्ट / 16 बाइट्स

ᴉⓜᵖ ᵴ˖$

Try it here (Firefox only).

शायद इसके लिए कहीं एक बिल्डिन है - मैंने अभी इसे नहीं ढूंढा है।

व्याख्या

ᴉⓜᵖ ᵴ˖$ // implicit: ᴉ=split input, ᵴ=empty string
ᴉⓜ      // map over ᴉ
   ᵖ ᵴ˖$ // push ᵴ+=(mapped item char)
         // implicit stack output, separated by newlines

1

जावास्क्रिप्ट ईएस 6, 29 बाइट्स

(a,b='')=>[...a].map(x=>b+=x)

यह कुछ भी नहीं जीत रहा है, लेकिन यह एक सरल उपाय है।



1

पायथन, 32 बाइट्स

f=lambda s:s and f(s[:-1])+" "+s

एक प्रमुख स्थान के साथ अंतरिक्ष-अलग स्ट्रिंग को आउटपुट करने वाला पुनरावर्ती फ़ंक्शन।

एक 34-बाइट प्रोग्राम (पायथन 2):

s=""
for c in input():s+=c;print s

1

वी , 5 बाइट्स (गैर-प्रतिस्पर्धात्मक)

òÄ$xh

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

यह भाषा चुनौती से नई है, इस जवाब को गैर-प्रतिस्पर्धी बनाती है। स्पष्टीकरण:

ò       " Recursively:
 Ä      "   Duplicate this line
  $     "   Move to the end of this line
   x    "   Delete one character
    h   "   Move one character to the right, which will throw an error when the line is one character long

1

PowerShell v2 +, 28 बाइट्स

[char[]]$args[0]|%{($o+=$_)}

इनपुट लेता है $args[0], इसे एक char-रे के रूप में रखता है, पात्रों को एक लूप में रखता है |%{...}। प्रत्येक पुनरावृत्ति, हम वर्तमान चरित्र के $oमाध्यम से जमा +=करते हैं $_। उस अभिव्यक्ति को पार्न्स में एनकैप्सुलेट किया गया है, इसलिए एक प्रति पाइपलाइन पर रखी गई है। निष्पादन के अंत में, पाइपलाइन को प्रवाहित किया जाता है Write-Outputजिसके माध्यम से तत्वों के बीच एक नई रेखा डालते हैं।

PS C:\Tools\Scripts\golfing> .\spell-out-the-revua "נחמן"
נ
נח
נחמ
נחמן

PS C:\Tools\Scripts\golfing> .\spell-out-the-revua "PPCG"
P
PP
PPC
PPCG


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