명세서
숫자가 주어지면 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)
규칙
- 이것은 code-golf 입니다. 가장 짧은 답변이 이깁니다. 그러나 가장 짧은 답변은 시간이 지남에 따라 변경 될 수 있으므로 답변을 선택하지 않습니다.
- 표준 허점은 허용되지 않습니다.
답변
답변
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
답변
답변
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/NEXT
2 ~ 4 행 및 5 ~ 7 행 의 루프는 meme
화살표가 각각있는 경우 상단과 하단을 출력합니다 ( 그래픽 모드 소스 에서 이동 M
및 이동 으로 표시 ).N
답변
MarioLANG , 719 677 바이트
+
+
+
+
+
+ ((((+)+++++)))<
+>======================"
+)++++++)+++++++++++((-[!)
========================#=-
) ![- <+;)+++)---)++++)<
)=#======"=================
) >)+)+((!
+ "======#
<))))).(((((((<
========">============"
>)+)+((-[!+)) -[!((((((((.)).))))+(-[!)
"========#=============#====================#<
!) <
#==========================================="
>(((((.)))>
"========<"========
![-)).))).(((((((![- ))+![-((+)+)<((![<
#================#=========#========"==#="===
> ! >-!
"===================================# "=#
이것은 예상보다 어렵습니다 …