체스 판 패턴 양수. 출력 : 입력 숫자의 크기 인 정사각형

입력 :
stdin에서 또는 명령 행 인수로 80보다 작은 양수.

출력 : 입력 숫자의 크기 인 정사각형 체스 판 패턴입니다. 어두운 필드는 문자 ‘X’로 표시되고 흰색 필드는 공백으로 표시됩니다. 왼쪽 상단 필드는 ‘X’여야합니다.

완전한 프로그램이 필요합니다.


예 :

입력 : 1

출력 :

X

입력 : 8

출력 :

X X X X
 X X X X
X X X X
 X X X X
X X X X
 X X X X
X X X X
 X X X X



답변

피 이스, 13 문자

참고 : Pyth는 이기기에는 너무나 새롭습니다. 그러나 그것은 재미있는 골프 였고 나는 그것을 공유 할 것이라고 생각했습니다.

VQ<*QX*d2N\XQ

여기에서 시도하십시오.

작동 방식 :

                       Q = eval(input())
VQ                     for N in range(Q):
  <         Q                                                        [:Q]
   *Q                                    (Q*                        )
     X*d2N\X                                assign_at(" "*2, N, "X")

기본적으로 이것은 X 생성 "X "하거나 " X"번갈아 하여 해당 문자열 Q시간 을 반복 하고 첫 번째 Q문자를 사용합니다. 이 Q시간 이 반복 됩니다.

어떻게 않는 X기능 작업 (시 지정)? 원래 문자열 ( " "이 경우 할당 위치, N이 경우 대체 문자) "X"을 사용합니다. Pyth의 할당은 모듈러이므로,이 위치에서 공간 대체 N%2함께 X그러므로, 반환 결과 스트링, "X "상기 제 1, 제 3, 제 등을 라인 및" X" 다른 사람에.


답변

골프 스크립트-17 자

~:N,{"X "N*>N<n}%

분석

~[0 … N-1]의 각 값에 대해
:N변수 N의 입력을 int 저장소 로 변환합니다. “X”를 반복하여 N * 2 문자 의 문자열을 제공하면 루프 인덱스에서 시작하는 하위 문자열을 가져옵니다 … … N 문자를 끝내면 나중에 각 문자열의 끝에 줄 바꿈을 넣습니다.
,{...}
"X "N*
>
N<
n


답변

펄, 41 40

for$i(1..$_){say substr" X"x$_,$i%2,$_}

Perl 5.10 이상에서 실행 perl -nE 'code'( n코드 크기로 계산)

샘플 출력 :

$ perl -nE'for$i(1..$_){say substr" X"x 40,$i%2,$_}' <<<5
X X X
 X X
X X X
 X X
X X X
$ perl -nE'for$i(1..$_){say substr" X"x 40,$i%2,$_}' <<<8
X X X X
 X X X X
X X X X
 X X X X
X X X X
 X X X X
X X X X
 X X X X


답변

Python, 48 자

x,i=input(),0
exec'print(x*"X ")[i:i+x];i^=1;'*x


답변

파이썬, 76 자

n=input()
p='X '*n
print n/2*(p[:n]+'\n'+p[1:n+1]+'\n'),
if n&1:print p[:n]


답변

스칼라 -141 95 자

var a=args(0).toInt
for(y<-1 to a;x<-1 to a)print((if((x+y)%2<1)"X"else" ")+("\n"*(x/a)take 1))

사용법 : scala filename N여기서 n은 프로그램에 대한 입력입니다.


답변

APL (16)

가정 ⎕IO=0(즉, 인덱스가없는 배열은 설정입니다)

' X'[=/¨2⊤¨⍳2⍴⎕]

설명:

  • ⍳2⍴⎕: 숫자 N을 읽고 (0,0)에서 (N-1, N-1)을 포함하는 NxN 행렬을 만듭니다.
  • 2⊤¨: 행렬에서 각 숫자의 최하위 비트를 가져옵니다. (이제 (0,0), (0,1), (0,0) … (1,0), (1,1), (1,0) …)
  • =/¨: 각 쌍에 대해 두 숫자가 같은지 확인하십시오. (이제 우리는 1010 10 …을 가지고 있습니다.)
  • ' X'[]: 0마다 공백을, 각각 1에 X를 넣습니다.