এএসসিআইআই ট্রায়াঙ্গলস


30

আপনার টাস্কটি এমন কোনও প্রোগ্রাম বা একটি ফাংশন লিখুন যা ASCII ত্রিভুজটি প্রিন্ট করে। তারা এ জাতীয় চেহারা:

|\
| \
|  \
----

আপনার প্রোগ্রামটি nসীমাবদ্ধতার সাথে একক সংখ্যার ইনপুট নেবে 0 <= n <= 1000। উপরের ত্রিভুজটির মান ছিল n=3

এএসসিআইআই ত্রিভুজটির 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
@ ওকএক্স প্রায়শই এমন প্রশ্ন আসে যেখানে জিজ্ঞাসাবাদী প্রোগ্রাম বলে তবে সত্যিকার অর্থে প্রোগ্রাম বা ফাংশন meant আপনি পরিষ্কার করতে চাইতে পারেন যে আপনি একটি সম্পূর্ণ প্রোগ্রামের জন্য জিজ্ঞাসা করছেন
fəˈn 8tɪk

9
আমি অবশ্যই প্রোগ্রাম এবং ফাংশন উভয় জন্য যেতে হবে। অন্য কিছু নির্দিষ্ট না থাকলে এটি ডিফল্ট নিয়ম। আমি 0-প্রান্তের মামলাটিও সরিয়ে ফেলব কারণ এটি " এন + 1 লাইন এবং ড্যাশগুলি (-) " এর সরাসরি লঙ্ঘন ।
স্টিভি গ্রিফিন

3
আকার = 0 ব্যতীত চ্যালেঞ্জটি খুব সহজ হবে। চ্যালেঞ্জের অংশটি হ'ল নূন্যতম অতিরিক্ত কোড সহ এটির জন্য অ্যাকাউন্ট করার উপায় খুঁজে বের করছে।
12

উত্তর:


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));}

-

@ স্টেডিবক্সকে ধন্যবাদ যারা এই উত্তরের মন্তব্যগুলি আমাকে আমার উপরের সমাধানটিতে কয়েকটি বাইট শেভ করতে সহায়তা করেছে


1
আমি 68 এ পৌঁছতে পেরেছি, নিজের জন্য বেশ গর্বিত ছিলাম .. এবং তারপরে আমি স্ক্রোল করেছিলাম :( - ভাল হয়েছে!
কোয়ান্টিন

1
খুব সুন্দর! একটি +1 করুন
স্টিডিবক্স

আমি 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

05 এ বি 1 , 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আমি যতটা ভেবেছিলাম তেমন ভাল ছিল না। ভাল ব্যবহার ÿ, এর আগে দেখা হয়নি।
ম্যাজিক অক্টোপাস উরন

@ কারাসোকম্পিউটিং: আমি .sশুরু করার পাশাপাশি বিবেচনা করেছি <Ýð×কিন্তু এই পদ্ধতিগুলির সাথে বিশেষ ক্ষেত্রে সমস্যা নিয়ে এসেছি ।
এমিগানা

FðN×…|ÿ\}Dg'-×»15 বাইটের জন্য
আদনান

@ আদনান: খুব ভাল লাগছে Dg! ধন্যবাদ :)
Emigna

.sনেস্টেড অ্যারে এবং সমতলকরণের ফলস্বরূপ যার জন্য আরও বাইট প্রয়োজন।
ম্যাজিক অক্টোপাস উরন

5

ভি , 18 17 16 বাইট

ইনপুটটি না থাকলে আউটপুট দেওয়ার অন্য উপায়টি ব্যবহার করার জন্য 1 বাইট সংরক্ষণ করেছেন @ এনএমজেসিমান 101 এর জন্য ধন্যবাদ 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

এখন আমরা বাফারের নীচে একটি অতিরিক্ত লাইন পেয়েছি। এটি এর সাথে প্রতিস্থাপন করতে হবে -

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

আমরা যদি ইনপুটটির জন্য যা চাই তা করতে পারলে এই উত্তরটি সংক্ষিপ্ত হবে 0

ভি , 14 13 বাইট

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

এটি অনলাইন চেষ্টা করুন!



@ nmjcman101 আহ, «অবশ্যই। চতুর! :)
ক্রিটসি লিথোস

4

সি #, 93 বাইট

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

বেনামে ফাংশন যা ASCII ত্রিভুজটিকে স্ট্রিং হিসাবে প্রদান করে।

অসম্পূর্ণ, মন্তব্য করা ফাংশন এবং পরীক্ষার কেস সহ সম্পূর্ণ প্রোগ্রাম:

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)])

এটি অনলাইন চেষ্টা করুন!


আপনি যদি এটি মুদ্রণ করছেন, আপনি পাইথন 3 এ পরিবর্তন করে, অপারেটরটি এবং স্লিপ ফাংশনে যুক্তির "".joinসাথে এটি সরিয়ে এবং প্রতিস্থাপনের মাধ্যমে কয়েকটি বাইট সংরক্ষণ করতে পারেন , তাই*seplambda x:print(*['|'+' '*n+'\\'for n in range(x)]+['-'*-~x*(x>0)],sep="\n")
sagiksp

3

সিজেম , 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প্রোগ্রাম সমাপ্তিতে ঘটে।


প্রোগ্রামটি একটি ট্রেলিং করা নতুন লাইন প্রিন্ট করে তবে আমি আউটপুটটিকে ঠিক তেমন নির্দিষ্ট করতে বলেছিলাম, দুঃখিত!
Okx

@ ওকএক্স 16 বাইট ব্যয়ে পরিবর্তিত হয়েছে।
অ্যাডমবর্কবার্ক

2

রেটিনা , 39 বাইট

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

এটি অনলাইনে চেষ্টা করুন

দশমিক ইনপুটটিকে অ্যানারিতে রূপান্তর করুন। প্রত্যেকের 1সাথে প্রতিস্থাপন করুন |<N-1 spaces>\¶, মুদ্রণ করুন এবং প্রতিস্থাপনটি পূর্বাবস্থায় ফেরান। প্রতিটি 1হাইফেন এবং শেষ হাইফেনকে 2 হাইফেন দিয়ে প্রতিস্থাপন করুন । Tadaa!


2

সাধারণ লিপ, 89 86 বাইট

একটি বেনামি ফাংশন তৈরি করে যা এন ইনপুট নেয় এবং ত্রিভুজটি প্রিন্ট করে *standard-output*(স্টাডআউট, ডিফল্টরূপে)।

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("-");

}

@ স্টেডিবক্সটি দেখানোর জন্য ধন্যবাদ, অনেক অর্থবোধ করে।


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("-");}
স্টেডিবক্স

@ স্টেডিবক্স 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 বাইট সংরক্ষিত হয়েছে @ ইথ প্রডাকশনগুলির জন্য ধন্যবাদ

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Ä)·এবং একটি বাগ (স্বয়ংক্রিয়ভাবে- ফাংশন সত্যিই একটি অনিচ্ছাকৃত পার্শ্ব প্রতিক্রিয়া) কারণে, আপনি তারপর অপসারণ করতে পারেন 'মধ্যে '-
ETH প্রোডাকশনগুলি

আসলে, এটি সমস্ত ছোট হাতের অক্ষরের সাথে এর মতো, কেবল নয় p। এটি তাই আপনি m*2প্রতিটি উপাদান দ্বিগুণ mp2করতে বা প্রতিটি বর্গ করতে পারেন
ETH প্রোডাকশনগুলি

2

জে, 20 বাইট

-13 বাইট ধন্যবাদ বব

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

এটি অনলাইন চেষ্টা করুন!

আসল: 33 বাইট

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

ungolfed

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

এটি অনলাইন চেষ্টা করুন!


25 বাইট*,&'-' '|',.'\'{."0~_1-i.
মাইল

22 বাইট সহ*,&'-' '|',.' \'{~=@i.
বব

@ বব এটি পরিচয় ম্যাট্রিক্স ব্যবহার করতে খুব চালাক ছিলেন
মাইল মাইল

পরামর্শ দেওয়ার জন্য @ ববকে ধন্যবাদ আমি পোস্টটি আপডেট করেছি
জোনাহ


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:
|\
| \
|  \
|   \
|    \
|     \
-------

আমি আমার আগের মন্তব্যের জন্য ক্ষমা চাইছি, ফাংশনগুলি এখন অনুমোদিত।
Okx

@ ওক্স কোনও সমস্যা নেই এটি একটি সম্পূর্ণ প্রোগ্রাম হিসাবে দাঁড়িয়েছে। আমি মনে করি না আমি কোনও ফাংশন সমাধানের ফ্যাশনটি সন্ধান করব :)
ইয়াতসি


1

কিউবিআইসি , 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
নিরপেক্ষদের বানান ঠিক করতে পারে
ফেব্রুটিক

1

পাইথন 2 , 62 বাইট

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

এটি অনলাইন চেষ্টা করুন!

প্রতিটি লাইনে প্রিন্ট করে প্রিন্ট করুন, প্রতিবার ব্যাকস্ল্যাশের আগে আরেকটি স্থান যুক্ত করুন। যদি কোনও ফাংশন যা মুদ্রণ করে না তবে তার অনুমতি দেওয়া হবে, এটি সম্ভবত কম হবে।


স্পষ্টতই, ফাংশনগুলি মুদ্রণ করতে হবে না।
Yytsi

1

জাভাস্ক্রিপ্ট (ES6), 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

টেস্ট স্যুট অনলাইনে উপলব্ধ।
ধন্যবাদভেনকে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()

এটি অনলাইন চেষ্টা করুন!

অন্যান্য পাইথন উত্তর দেয় তবে লম্বা একটি recursive ফাংশন।

এটি দুটি printবিবৃতি ব্যবহার করে অপব্যয় বোধ করে তবে আমি এর কাছাকাছি আরও ছোট উপায় খুঁজে পাচ্ছি না। এছাড়াও exit()বর্জ্য 7 এটা সংখ্যা কমে মুদ্রণ থামাতে -ত্রিভুজ অধীনে।


-~c*(c>0)3 বাইট সংরক্ষণ করার জন্য আপনি শেষ লাইনে করতে পারেন :)
ইয়াতসি

বা আরো ভালো এখনো: c and-~c
ইয়াতসী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.