Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs

Dashboard
Notifications
Mark all as read
Challenges

Tile pyramids on top of each other!

+4
−0

The task

Given a positive integer as input, output tiled pyramids of this height.

How?

Let's say the inputted integer was n. From there, we output n lines of output, each having:

  1. A decreasing indentation of spaces starting with n-1 spaces and ending with 0 spaces
  2. An increasing number of the symbol / starting with 1 symbol and ending with n symbols
  3. An increasing number of the symbol \ starting with 1 symbol and ending with n symbols

For example, with an input of 4, the output should be the following:

   /\
  //\\
 ///\\\
////\\\\

Rules

  1. You may output an optional newline after the required output
  2. Input will always be a positive integer
  3. This is code-golf, so lowest byte-count for each language is the winner

Test cases

Input: 1
Output:
/\


Input: 7
Output:
      /\
     //\\
    ///\\\
   ////\\\\
  /////\\\\\
 //////\\\\\\
///////\\\\\\\


Input: 11
Output:
          /\
         //\\
        ///\\\
       ////\\\\
      /////\\\\\
     //////\\\\\\
    ///////\\\\\\\
   ////////\\\\\\\\
  /////////\\\\\\\\\
 //////////\\\\\\\\\\
///////////\\\\\\\\\\\
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

Is the input being a Unicode character (e.g. a newline means 10, "!" means 33, etc) allowed? (1 comment)

9 answers

+3
−0

V (vim), 11 bytes

ÀñY>HGpé/Á\

Try it online!

Hexdump:

00000000: c380 fe58 c3b1 593e 4847 70c3 a92f c381  ...X..Y>HGp../..
00000010: 5cc3 bfc3                                \...
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+3
−0

AppleScript, 264 bytes

Sue me. It works.

set n to text returned of (display dialog "" default answer "") as number
set o to ""
repeat with i from 1 to n
   repeat (n-i) times
      set o to o&" "
   end repeat
   repeat i times
      set o to o&"/"
   end repeat
   repeat i times
      set o to o&"\\"
   end repeat
   set o to o&"\n"
end repeat
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+2
−0

Japt -R, 12 bytes

õÈ"/\\"mpXÃû

Try it

õÈ"/\\"mpXÃû    :Implicit input of integer
õ               :Range [1,input]
 È              :Map each X
  "/\\"         :  Literal string
       m        :  Map
        pX      :    Repeat X times
          Ã     :End map
           û    :Centre pad each to the length of the longest
                :Implicit output joined with newlines
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+2
−0

Vyxal C, 6 bytes

ƛ\/*øṀ

Try it Online!

ƛ      # 1...n map
 \/*   # That many /
    øṀ # Ascii art mirror
       # (C flag) Join by newlines and center
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+2
−0

Ruby, 43 bytes

->n{(1..n).map{|i|" "*(n-i)+?/*i+?\\*i}*$/}

->n{                                      }  # lambda
    (1..n).map{|i|                    }      # map over 1 to n
                  " "*(n-i)+?/*i+?\\*i       # spaces plus / plus \
                                       *$/   # join with newline

Try it online!

The special global variable $/ is initialized to newline by default, which is shorter than ?\n or "\n".

From globals.rdoc:

$/

The input record separator, newline by default. Aliased to $-0.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+1
−0

JavaScript (Node.js), 57 56 bytes

f=(a,b='/\\')=>a--?''.padEnd(a)+b+`
`+f(a,'/'+b+'\\'):''

Try it online!

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+1
−0

Canvas, 9 7 bytes

H/×║∔}r

Try it here!

Explanation

H/×║+}r
H    }   push empty art and start a loop from 1..n
 /×      repeat '/' i times
   ║     palindromize horizontally(no overlap)
    +    join with previous iteration
      r  center the whole thing 
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+1
−0

C (compliant), 106 bytes

char r,i,s[80];void f(int n){memset(s,32,79);for(;r<n;puts(s),r++)for(i=0;i++<n*2;s[n-r-1]=47,s[n+r]=92);}

Try it online!

Standard C compliant function solution.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+1
−0

Python 2, 57 bytes

a,x=1,input()
exec'print" "*(x-a)+"/"*a+"\\\\"*a;a+=1;'*x

Prints it out line by line

Try it online!

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

How does it work ? (1 comment)

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!