ASCII त्रिकोण


30

आपका कार्य एक प्रोग्राम या एक फ़ंक्शन लिखना है जो ASCII त्रिकोण प्रिंट करता है। वे इस तरह दिखते हैं:

|\
| \
|  \
----

आपका कार्यक्रम nबाधाओं के साथ एक एकल संख्यात्मक इनपुट लेगा 0 <= n <= 1000। उपरोक्त त्रिकोण का मान था n=3

ASCII त्रिकोण में nबैकस्लैश ( \) और वर्टिकल बार ( |), n+1लाइन और डैश ( -) होंगे, और प्रत्येक लाइन में लाइन नंबर (0-बेस्ड, यानी पहली लाइन लाइन 0) के अलावा अल्टीमेट लाइन के बराबर स्पेस होगा। ।

उदाहरण:

इनपुट:

4

आउटपुट:

|\
| \
|  \
|   \
-----

इनपुट:

0

आउटपुट:


इस परीक्षण के मामले में, आउटपुट खाली होना चाहिए। कोई व्हाट्सएप नहीं।

इनपुट:

1

आउटपुट:

|\
--

इनपुट और आउटपुट बिल्कुल वही होना चाहिए जो मैंने निर्दिष्ट किया है।

यह , इसलिए कम से कम संभव कोड के लिए लक्ष्य बनाएं!

code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

4
क्या यह एक कार्यक्रम होने की आवश्यकता है या यह एक फ़ंक्शन हो सकता है?
fəˈnɪtɪk

7
मुझे लगता है कि यह बेहतर होगा यदि केस 0में कोई अप्रत्याशित आउटपुट हो सकता है क्योंकि यह एक एज केस है (विशेषकर जब से आपने अनुरोध किया है कि डैश की संख्या इनपुट संख्या से एक अधिक होनी चाहिए)
क्रिक्टी लिथोस

4
@ ऑक्स अक्सर ऐसे सवाल होते हैं जहां पूछने वाला प्रोग्राम कहता है लेकिन वास्तव में प्रोग्राम या फ़ंक्शन का मतलब है। आप स्पष्ट करना चाहते हैं कि आप एक पूर्ण कार्यक्रम के लिए पूछ रहे हैं
f 8nɪt Febk

9
मैं निश्चित रूप से कार्यक्रम और समारोह दोनों के लिए जाऊंगा। यदि कुछ और निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट नियम है। मैं 0-किनारे के मामले को भी हटा दूंगा क्योंकि यह " n + 1 लाइनों और डैश (-) " का सीधा उल्लंघन है ।
स्टेवि ग्रिफिन

3
आकार = 0 अपवाद के बिना चुनौती बहुत सरल होगी। चुनौती का एक हिस्सा इसके लिए अतिरिक्त कोड की कम से कम राशि के साथ हिसाब लगाने का एक तरीका है।
12M2121

जवाबों:


3

जेली , 14 बाइट्स

’⁶x⁾|\jṄµ€Ṫ”-ṁ

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

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

’⁶x⁾|\jṄµ€Ṫ”-ṁ  Main link. Argument: n

        µ       Combine the links to the left into a chain.
         €      Map the chain over [1, ..., n]; for each k:
’                 Decrement; yield k-1.
 ⁶x               Repeat the space character k-1 times, yielding a string.
   ⁾\j            Join the character array ['|', '\'], separating by those spaces.
      Ṅ           Print the result, followed by a linefeed.
         Ṫ      Tail; extract the last line.
                This will yield 0 if the array is empty.
          ⁾-ṁ   Mold the character '-' like that line (or 0), yielding a string
                of an equal amount of hyphen-minus characters.  

11

सी, 58 बाइट्स

i;f(n){for(i=2*n;~i--;printf(i<n?"-":"|%*c\n",2*n-i,92));}

-

@Steadybox को धन्यवाद जिन्होंने इस उत्तर पर टिप्पणी की जिससे मुझे अपने उपरोक्त समाधान में कुछ बाइट्स शेव करने में मदद मिली


1
मैं 68 तक पहुंचने में कामयाब रहा, अपने आप पर बहुत गर्व था .. और फिर मैंने स्क्रॉल किया :( - अच्छा किया!
Quentin

1
बहुत अच्छा! एक +1
Steadybox

मैं 2*nदो बार वहां गया हूं और यह मुझे परेशान करता है, क्या कोई इसे किसी भी तरह से छोटा करने के लिए एक चतुर तरीका सोच सकता है?
अल्बर्ट रेनशॉ

7

जावास्क्रिप्ट (ES6), 97 85 81 75 74 बाइट्स

n=>(g=(n,s)=>n?g(--n,`|${" ".repeat(n)}\\
`+s):s)(n,"")+"-".repeat(n&&n+1)

मैं लगभग पर्याप्त पुनरावृत्ति का उपयोग नहीं कर रहा था

f=n=>(g=(n,s)=>n?g(--n,`|${" ".repeat(n)}\\
`+s):s)(n,"")+"-".repeat(n&&n+1)

console.log(f(0))
console.log(f(1))
console.log(f(2))
console.log(f(3))
console.log(f(4))


6

05AB1E , 16 15 16 बाइट्स

अदनान को बाइट देकर धन्यवाद दिया

FðN×…|ÿ\}Dg'-×»?

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

व्याख्या

F       }         # for N in range [0 ... input-1]
 ðN×              # push <space> repeated N times
    …|ÿ\          # to the middle of the string "|\"
         Dg       # get length of last string pushed
           '-×    # repeat "-" that many times
              »   # join strings by newline
               ?  # print without newline

ð×.svy¦…|ÿ\}¹>'-×»लगता है कि मेरा विचार .sउतना अच्छा नहीं था जितना मैंने सोचा था। का अच्छा उपयोग ÿ, पहले ऐसा नहीं देखा।
मैजिक ऑक्टोपस Urn

@ क्रूसोकोमपूतिंग: मैंने .sशुरुआत के साथ ही माना <Ýð×लेकिन उन तरीकों के साथ विशेष मामले से परेशान था।
Emigna

FðN×…|ÿ\}Dg'-×»15 बाइट्स के लिए
अदनान

@ अदनान: अच्छा कैच Dg! धन्यवाद :)
Emigna

.sनेस्टेड सरणियों और चपटे के परिणामस्वरूप भी अधिक बाइट्स की आवश्यकता होती है।
मैजिक ऑक्टोपस Urn

5

वी , 18 17 16 बाइट्स

1 बाइट इनपुट @ के लिए कुछ भी नहीं outputting का एक और तरीका का उपयोग करने के लिए @ nmjcman101 के लिए धन्यवाद बचाया 0

é\é|ÀñÙá ñÒ-xÀ«D

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

Hexdump:

00000000: e95c e97c c0f1 d9e1 20f1 d22d 78c0 ab44  .\.|.... ..-x..D

स्पष्टीकरण (पुराना)

हमारे पास पहले यह जांचने के लिए एक लूप है कि क्या तर्क है 0। यदि ऐसा है, तो नीचे दिया गया कोड निष्पादित होता है ( |\लिखा जाता है)। अन्यथा, कुछ भी नहीं लिखा है और बफर खाली है।

Àñ     ñ            " Argument times do:
  é\é|              " Write |\
      h             " Exit loop by creating a breaking error

अब जब हम त्रिकोण के शीर्ष पर पहुंच गए, तो हमें इसका शरीर बनाने की आवश्यकता है।

Àñ   ñ              " Argument times do:
  Ù                 " Duplicate line, the cursor comes down
   à<SPACE>         " Append a space

अब हमें बफर के निचले भाग में एक अतिरिक्त रेखा मिली। इसे -s के साथ बदलना होगा।

Ó-                  " Replace every character with a -
   x                " Delete the extra '-'

यदि हम इनपुट के लिए जो चाहें कर सकते हैं तो यह उत्तर कम होगा 0

वी , 14 13 बाइट्स

é\é|ÀñÙá ñÒ-x

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


मैं कोशिश नहीं करनी चाहिए कि एक बाइट के लिए मुश्किल यह ऑनलाइन कोशिश करो!
nmjcman101

@ nmjcman101 आह, «बिल्कुल। चतुर! :)
१०:१५ पर कृति लिथोस

4

सी #, 93 बाइट्स

n=>{var s=n>0?new string('-',n+1):"";while(n-->0)s="|"+new string(' ',n)+"\\\n"+s;return s;};

एक अनाम फ़ंक्शन जो एक स्ट्रिंग के रूप में ASCII त्रिकोण लौटाता है।

पूर्ण कार्यक्रम के साथ ungolfed, टिप्पणी समारोह और परीक्षण मामलों:

using System;

class ASCIITriangles
{
    static void Main()
    {
      Func<int, string> f =
      n =>
      {
          // creates the triangle's bottom, made of dashes
          // or an empty string if n == 0
          var s = n > 0 ? new string('-', n + 1) : "";

          // a bottom to top process
          while ( n-- > 0)
          // that creates each precedent line
            s = "|" + new string(' ', n) + "\\\n" + s;

          // and returns the resulting ASCII art
          return s;
      };

      // test cases:
      Console.WriteLine(f(4));
      Console.WriteLine(f(0));
      Console.WriteLine(f(1));
    }
}

3

पायथन 2 , 69 बाइट्स

lambda x:'\n'.join(['|'+' '*n+'\\'for n in range(x)]+['-'*-~x*(x>0)])

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


यदि आप इसे प्रिंट कर रहे हैं, तो आप कुछ बाइट्स को python3 में बदलकर, "".joinइसे निकालकर, इसे *ऑपरेटर और sepतर्क के साथ स्लीप फ़ंक्शन में बदल सकते हैं, इसलिएlambda x:print(*['|'+' '*n+'\\'for n in range(x)]+['-'*-~x*(x>0)],sep="\n")
sagiksp

3

CJam , 24 22 21 बाइट्स

मार्टिन एंडर को 1 बाइट धन्यवाद दिया

ri_{S*'|\'\N}%\_g+'-*

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

व्याख्या

ri                     e# Take an integer from input
  _                    e# Duplicate it
   {                   e# Map the following to the range from 0 to input-1
    S*                 e#   Put that many spaces
      '|               e#   Put a pipe
        \              e#   Swap the spaces and the pipe
         '\            e#   Put a backslash
           N           e#   Put a newline
            }%         e# (end of map block)
              \        e# Swap the top two stack elements (bring input to the top)
               _g+     e# Add the input's signum to itself. Effectively this increments any 
                       e#  non-zero number and leaves zero as zero.
                  '-*  e# Put that many dashes

2

स्माइलबासिक, 51 बाइट्स

INPUT N
FOR I=0TO N-1?"|";" "*I;"\
NEXT?"-"*(N+!!N)

2

पॉवरशेल , 51 67 बाइट्स

param($n)if($n){1..$n|%{"|"+" "*--$_+"\"};write-host -n ('-'*++$n)}

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

(बिना किसी नई सीमा के खाते में बाइट में वृद्धि)

इनपुट लेता है $nऔर सत्यापित करता है कि यह गैर-शून्य है। फिर त्रिभुज के निर्माण के लिए छोरों, और की एक पंक्ति के साथ समाप्त होता है -। अंतर्निहित Write-Outputकार्यक्रम पूरा होने पर होता है।


कार्यक्रम एक नई रूपरेखा प्रिंट करता है, लेकिन मैंने आउटपुट को बिल्कुल निर्दिष्ट करने के लिए कहा, क्षमा करें!
15

@ ऑक्स 16 बाइट्स की कीमत पर बदला गया।
AdmBorkBork

2

रेटिना , 39 बाइट्स

.*
$*
*\`(?<=(.*)).
|$.1$* \¶
1
-
-$
--

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

दशमलव इनपुट को यूनरी में बदलें। प्रत्येक 1को |<N-1 spaces>\¶प्रिंट, और पूर्ववत करें के साथ बदलें। प्रत्येक 1को एक हाइफ़न, और अंतिम हाइफ़न को 2 हाइफ़न से बदलें । Tadaa!


2

आम लिस्प, 89 86 बाइट्स

एक अनाम फ़ंक्शन बनाता है जो n इनपुट लेता है और त्रिकोण को *standard-output*(stdout को डिफ़ॉल्ट रूप से) प्रिंट करता है ।

golfed

(lambda(n)(when(< 0 n)(dotimes(i n)(format t"|~v@t\\~%"i))(format t"~v,,,'-<~>"(1+ n))))

Ungolfed

(lambda (n)
  (when (< 0 n)
    (dotimes (i n)
      (format t "|~v@t\\~%" i))
    (format t "~v,,,'-<~>" (1+ n))))

मुझे यकीन है कि मैं इसे किसी तरह कम कर सकता हूं।


2

सी 101 93 75 बाइट्स

f(n){i;for(i=0;i++<n;)printf("|%*c\n",i,92);for(;n--+1;)prin‌​tf("-");}

अनप्लग्ड संस्करण

void f(int n)
{
  int i;

  for(i=0;i++<n;)
    printf("|%*c\n",i,92);

  for(;n--+1;)
    printf("-");

}

@Steadybox इंगित करने के लिए धन्यवाद, बहुत समझ में आता है।


1
आप अपने ASCII मान के साथ चरित्र स्थिरांक की जगह और लूप बॉडी में पहले i ++ को स्थानांतरित करके कुछ बाइट्स को शेव कर सकते हैं। और printf("%c",'_');इतनी क्रिया क्यों है ?
जेन्स

@ जेन्स उत्तेजना, डंके सेहर :) अपडेट किया गया
हाबिल टॉम

यह 74 बाइट्स तक काटा जा सकता है:i;f(n){for(i=0;i++<n;)printf("%c%*c\n",124,i,92);for(;n--+1;)printf("-");}
स्टीडबॉक्स

69 बाइट्स के लिए, वास्तव में:i;f(n){for(i=0;i++<n;)printf("|%*c\n",i,92);for(;n--+1;)printf("-");}
स्टेडीबॉक्स

@Steadybox 68: n--+1को छोटा किया जा सकता है~n--
अल्बर्ट

2

चारकोल , 15 बाइट्स

Nβ¿β«↓β→⁺¹β↖↖β»

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

टूट - फूट

Nβ¿β«↓β→⁺¹β↖↖β»
Nβ               assign input to variable β
   ¿β«         »  if β != 0:
      ↓β           draw vertical line β bars long
        →⁺¹β       draw horizontal line β+1 dashes long
            ↖      move cursor up one line and left one character
             ↖β    draw diagonal line β slashes long

बहुत देर से टिप्पणी, लेकिन समापन »को छोड़ा जा सकता है।
DLosc

2

जाप , 20 बाइट्स

सहेजे गए 2 बाइट्स @ETHproductions के लिए धन्यवाद

o@'|+SpX +'\Ãp-pUÄ)·

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

व्याख्या

o@'|+SpX +'\Ãp-pUÄ)·
o                       // Creates a range from 0 to input
 @                      // Iterate through the array
  '|+                   // "|" + 
     SpX +              // S (" ") repeated X (index) times +
          '\Ã            // "\" }
             p-pU       // "-" repeated U (input) +1 times
                 Ä)·    // Join with newlines

1
अच्छा है! आप शामिल होने से पहले अंतिम पंक्ति धक्का द्वारा एक बाइट बचा सकते हैं: o@'|+SpX +'\Ãp'-pUÄ)·और एक बग (स्वत: कार्यों का सच को अनैच्छिक पक्ष प्रभाव) के कारण, आप तो निकाल सकते हैं 'में '-
ETHproductions

वास्तव में, यह ऐसा है जैसे सभी लोअरकेस अक्षरों के साथ, न कि केवल p। यही कारण है कि ताकि आप क्या कर सकते हैं जैसे है m*2प्रत्येक तत्व दोगुना करने के लिए, या mp2प्रत्येक वर्ग
ETHproductions

2

जे, 20 बाइट्स

-13 बाइट्स बॉब के लिए धन्यवाद

*#' \|-'{~3,~2,.=@i.

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

मूल: 33 बाइट्स

(#&'| \'@(1,1,~])"0 i.),('-'#~>:)

ungolfed

(#&'| \' @ (1,1,~])"0 i.) , ('-'#~>:)

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


25 बाइट्स के साथ*,&'-' '|',.'\'{."0~_1-i.
मील

22 बाइट्स*,&'-' '|',.' \'{~=@i.
बॉब

@bob पहचान मैट्रिक्स का उपयोग करने के लिए बहुत चालाक था
मील

@ सुझाव के लिए धन्यवाद। मैंने पोस्ट को अपडेट किया है
योना


1

पायथन 2, 73 बाइट्स

n=input()
w=0
exec'print"|"+" "*w+"\\\\"+("\\n"+"-"*-~n)*(w>n-2);w+=1;'*n

एक पूरा कार्यक्रम। मैंने अंतिम पंक्ति के लिए स्ट्रिंग प्रक्षेप की भी कोशिश की, लेकिन यह एक युगल बाइट्स के रूप में निकला: /

exec'print"|%s\\\\%s"%(" "*w,("\\n"+"-"*-~n)*(w>n-2));w+=1;'*n

73 बाइट्स पर एक और समाधान:

n=j=input()
exec'print"|"+" "*(n-j)+"\\\\"+("\\n"+"-"*-~n)*(j<2);j-=1;'*n

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

0:

1:
|\
--

2:
|\
| \
---

3:
|\
| \
|  \
----

6:
|\
| \
|  \
|   \
|    \
|     \
-------

मैं अपनी पिछली टिप्पणी के लिए माफी मांगता हूं, अब कार्यों की अनुमति है।
ओकेक्स

@ कोई समस्या नहीं है। यह एक पूर्ण कार्यक्रम के रूप में खड़ा है। मुझे नहीं लगता कि मैं फंक्शन सोल्यूशन के फैशन पर ध्यान
दूंगा


1

QBIC , 41 बाइट्स

:~a>0|[a|?@|`+space$(b-1)+@\`][a+1|Z=Z+@-

व्याख्या

:~a>0|  Gets a, and checks if a > 0
        If it isn't the program quits without printing anything
[a|     For b=1; b <= a; b++
?@|`+   Print "|"
space$  and a number of spaces
(b-1)   euqal to our current 1-based line - 1
+@\`    and a "\"
]       NEXT
[a+1|   FOR c=1; c <= a+1; c++
Z=Z+@-  Add a dash to Z$
        Z$ gets printed implicitly at the end of the program, if it holds anything
        The last string literal, IF and second FOR loop are closed implicitly.

1

आर, 101 बाइट्स

for(i in 1:(n=scan())){stopifnot(n>0);cat("|",rep(" ",i-1),"\\\n",sep="")};cat("-",rep("-",n),sep="")

n=0यदि आप केवल विचार करते हैं तो यह कोड परीक्षण-मामले का अनुपालन करता है STDOUT!
वास्तव में, stopifnot(n>0)भाग स्क्रिप्ट निष्पादन को रोकता है, कुछ भी प्रदर्शित नहीं करता है STDOUTलेकिन लिखता Error: n > 0 is not TRUEहै SDTERR

अधूरा:

for(i in 1:(n=scan()))
    {
    stopifnot(n>0)
    cat("|", rep(" ", i-1), "\\\n", sep = "")
    }

cat("-", rep("-", n), sep = "")

1
हो सकता है कि अनगढ़ की वर्तनी को ठीक करना चाहते हों
fəˈn't Febk

1

पायथन 2 , 62 बाइट्स

n=input();s='\\'
exec"print'|'+s;s=' '+s;"*n
if n:print'-'*-~n

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

हर बार बैकस्लैश से पहले एक और स्थान जोड़ते हुए लाइन द्वारा प्रिंट करता है। यदि ऐसा कोई फ़ंक्शन जो प्रिंट नहीं करता है, तो उसे अनुमति नहीं दी जाएगी।


जाहिर है, कार्यों को प्रिंट नहीं करना है।
12

1

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

f=
n=>console.log(' '.repeat(n).replace(/./g,'|$`\\\n')+'-'.repeat(n+!!n))
<form onsubmit=f(+i.value);return!true><input id=i type=number><input type=submit value=Go!>

कंसोल को आउटपुट। अगर मकड़ी के गोले को खोलना स्वीकार्य है तो 6 बाइट्स बचाएं। यदि आउटपुट स्वीकार्य है तो 13 बाइट्स सहेजें।


यह रेगेक्स सरल है। मैंने पहली बार उन पंक्तियों के साथ कुछ करने की कोशिश की। मैं $`पैटर्न के बारे में नहीं जानता, लेकिन अगर मैं अभी भी इसके बारे में सोचा होता तो यह नहीं जानता। अच्छा लगा।
जनवरी



1

पर्ल, 63 बाइट्स

$n=shift;print'|',$"x--$_,"\\\n"for 1..$n;print'-'x++$n,$/if$n

Ungolfed:

$ perl -MO=Deparse triangle.pl
$n = shift @ARGV;
print '|', $" x --$_, "\\\n" foreach (1 .. $n);
print '-' x ++$n, $/ if $n;

$"सूची विभाजक है, जो "" में चूक करता है। $/आउटपुट रिकॉर्ड विभाजक है, जो "\ n" में चूक करता है। $_निहित लूप चर है।


1
शायद स्टड के इनपुट को पढ़कर कुछ बचा सकता है? $n=<>?
शुक्र


1

पायथ, 23 18 बाइट्स

VQ++\|*dN\\)IQ*\-h

टेस्ट सूट ऑनलाइन उपलब्ध है।
के लिए धन्यवाद Ven 5 बाइट्स बंद गोल्फ के लिए।

व्याख्या

VQ++\|*dN\\)IQ*\-h
 Q           Q    Q  [Q is implicitly appended, initializes to eval(input)]
       d             [d initializes to ' ' (space)]
VQ         )         For N in range(0, eval(input)):
      *dN             Repeat space N times
   +\|                Prepend |
  +      \\           Append \
                      Implicitly print on new line
            IQ       If (input): [0 is falsy, all other valid inputs are truthy]
                 hQ   Increment input by 1
              *\-     Repeat - that many times
                      Implicitly print on new line

@ धन्यवाद! आप |एक अतिरिक्त बाइट के लिए अंतिम काट सकते हैं ।
माइक बुफर्देसी

0

जावास्क्रिप्ट 101 (पूर्ण कार्यक्रम), 94 (फंक्शन आउटपुट), 79 (रिटर्न) बाइट्स

पूरा कार्यक्रम

क्रोम में नहीं चलेगा (क्योंकि प्रक्रिया स्पष्ट रूप से मौजूद नहीं है)
टीआईओ में नहीं चलेगी (क्योंकि शीघ्र ही अनुमति नहीं है)

x=prompt();s='';for(i=0;i<x;i++)s+='|'+' '.repeat(i)+`\\
`;process.stdout.write(s+'-'.repeat(x&&x+1))

सटीक प्रिंट के साथ कार्य

x=>{s='';for(i=0;i<x;)s+='|'+' '.repeat(i++)+`\\
`;process.stdout.write(s+'-'.repeat(x&&x+1))}

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

रिटर्न स्ट्रिंग के साथ फंक्शन

x=>{s='';for(i=0;i<x;)s+='|'+' '.repeat(i++)+`\\
`;return s+'-'.repeat(x&&x+1)}

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

जावास्क्रिप्ट में दोहराए जाने वाले अक्षर गूंगे हैं और इसलिए आउटपुट पर नई कहानियों को दबा रहे हैं


0

पायथन 2 , 82 बाइट्स

def f(i,c=0):
 if c<i:print'|'+' '*c+'\\';f(i,c+1)
 print'-'*((c+1,c)[c<1]);exit()

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

लंबा है कि अन्य पायथन जवाब देता है, लेकिन एक पुनरावर्ती कार्य बस अलग होने के लिए।

यह दो printबयानों का उपयोग कर बेकार लगता है, लेकिन मैं इसे एक छोटा रास्ता नहीं ढूँढ सकता। इसके अलावा exit()कचरे 7 इसे रोकने -के लिए त्रिकोण के तहत घटती संख्या को मुद्रण ।


आप -~c*(c>0)3 बाइट्स बचाने के लिए आखिरी लाइन पर कर सकते हैं :)
यति

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