ASCII Arrow 화살표 생성기 반환하는 Crystal로 작성된 샘플 프로그램이

명세서

숫자가 주어지면 size n의 ASCII “meme arrow”(보다 큰 기호 >)를 출력하십시오 n.

n 항상 0보다 큰 양의 정수입니다.

n = 2

\
 \
 /
/

n = 5

\
 \
  \
   \
    \
    /
   /
  /
 /
/

샘플 코드

올바른 결과를 반환하는 Crystal로 작성된 샘플 프로그램이 있습니다. 로 실행하십시오 ./arrow 10.

arrow.cr:

def f(i)
        i.times { |j|
                j.times { print ' ' }
                puts "\\"
        }
        i.times { |j|
                (i-j-1).times { print ' ' }
                puts '/'
        }
end

f(ARGV[0].to_i)

규칙

  • 이것은 입니다. 가장 짧은 답변이 이깁니다. 그러나 가장 짧은 답변은 시간이 지남에 따라 변경 될 수 있으므로 답변을 선택하지 않습니다.
  • 표준 허점은 허용되지 않습니다.


답변


답변

C (gcc) , 56 바이트

f(n,i){for(i=-n;n;printf("%*c\n",i?++i+n:n--,i?92:47));}

온라인으로 사용해보십시오!

f(n,i){for(i=-n;i;printf("%*c\n",  ++i+n    ,  92   ));     //first print descending '\'s
       for(    ;n;printf("%*c\n",        n--,     47));}    // then print returning  '/'s

답변

파이썬 2 , 54 바이트

f=lambda n,p='':n*'?'and p+'\\\n'+f(n-1,p+' ')+p+'/\n'

온라인으로 사용해보십시오!

후행 줄 바꿈으로 출력합니다.


답변

05AB1E , 6 바이트

'\3.Λ∊

온라인으로 사용해보십시오!

설명

   .Λ    # draw
'\       # the string "\"
         # of length input
  3      # in the south-eastern direction
     ∊   # then vertically mirror it

답변

C # (Visual C # 대화식 컴파일러) , 66 바이트

n=>new int[n*2].Select((a,b)=>"".PadLeft(b<n?b:n*2+~b)+"\\/"[b/n])

@someone 덕분에 바이트를 저장했습니다.

온라인으로 사용해보십시오!


답변

C64Mini / C64 BASIC (및 기타 CBM BASIC 변형), 52 개의 토큰 화 된 BASIC 바이트 사용

 0INPUTN:N=N-1:FORI=0TON:PRINTTAB(I)"\":NEXT:FORI=NTO0STEP-1:PRINTTAB(I)"/":NEXT

exaplantion에 대한 난독 화 버전은 다음과 같습니다.

 0 INPUT N
 1 LET N=N-1
 2 FOR I=0 TO N
 3  PRINT TAB(I);"\"
 4 NEXT I
 5 FOR I=N TO 0 STEP -1
 6  PRINT TAB(I);"/"
 7 NEXT I

명령이 0 인덱싱 N되면 줄 0에 입력 된 숫자는 1 씩 줄어 듭니다 TAB. FOR/NEXT2 ~ 4 행 및 5 ~ 7 행 의 루프는 meme화살표가 각각있는 경우 상단과 하단을 출력합니다 ( 그래픽 모드 소스 에서 이동 M및 이동 으로 표시 ).N


답변

MarioLANG , 719 677 바이트

+
+
+
+
+
+         ((((+)+++++)))<
+>======================"
+)++++++)+++++++++++((-[!)
========================#=-
) ![-    <+;)+++)---)++++)<
)=#======"=================
) >)+)+((!
+ "======#
         <))))).(((((((<
 ========">============"
>)+)+((-[!+))        -[!((((((((.)).))))+(-[!)
"========#=============#====================#<
!)                                          <
#==========================================="
                  >(((((.)))>
                  "========<"========
 ![-)).))).(((((((![-    ))+![-((+)+)<((![<
 #================#=========#========"==#="===
 >                                   !  >-!
 "===================================#  "=#

온라인으로 사용해보십시오!

이것은 예상보다 어렵습니다 …