Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save CodeGolfScotland/2bb50e11d58dc149e1a303ab87ae45f2 to your computer and use it in GitHub Desktop.
Save CodeGolfScotland/2bb50e11d58dc149e1a303ab87ae45f2 to your computer and use it in GitHub Desktop.
Code Golf December 2016

December 2016 - Oh xmas tree, oh xmas tree

Task

Return an xmas tree n rows in length.

n will always be greater than 0.

Examples:

(1) => * 

(3) =>
  *
 ***
*****

(5) =>  
    *
   ***
  *****
 *******
*********

*^You can assume that you will always recieved valid input

About Code Golf Scotland

@alessandrozucca
Copy link

alessandrozucca commented Dec 16, 2016

Language: Golang
Lenght: 149
Solution:

func p(h int){w:=1+2*(h-1);m:=(w+1)/2;for i:=0;i<h;i++{for y:=0;y<=w;y++{if y>=m-i&&y<=m+i{fmt.Printf("*");}else{fmt.Printf(" ")}};fmt.Printf("\n")}}

@jordanFagan
Copy link

jordanFagan commented Dec 29, 2016

Language: Python 2.7
Length: 53
Solution:

def f(r):
 for i in range(r):
  print" "*(r-i)+"*"*(i+i+1)

Just realised that I need to return a value and not print it.

Language: Python 2.7
Length: 68
Solution:

def f(r):
  x=""
  for i in range(r):
    x+=" "*(r-i)+"*"*(i+i+1)+"\n"
  return x

@HDudzus
Copy link

HDudzus commented Dec 31, 2016

Language: Haskell
Length: 65
A little late for Christmas, but still in December. :-)

t n=unlines$map(\h->replicate(n-h)' '++replicate(2*h-1)'*')[1..n]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment