자석 주변의 철 입자


14

보드에 철분이 있습니다. 우리는 보드를 통해 전류 운반 와이어를 통과시키고 입자는 원을 형성합니다. 주어진 입력이 와이어의 위치 인 경우이 원을 표시하십시오.

보드를 크기가 7x7 (고정) 크기의 격자로 간주하십시오.

추가 공백은 허용되지 않습니다.

입력은 0 인덱스 또는 1 인덱스가 될 수 있습니다. (예시 0- 인덱싱)

input:3,3 # 'X' is wire here but can be shown by anything other than '\/|-'
output:
/-----\
|/---\|
||/-\||
|||X|||
||\-/||
|\---/|
\-----/

input:1,2
output:
|/-\|||
||X||||
|\-/|||
\---/||
-----/|
------/
-------

input:0,0
output:
X||||||
-/|||||
--/||||
---/|||
----/||
-----/|
------/

input:0,3
output:
|||X|||
||\-/||
|\---/|
\-----/
-------
-------
-------

input:3,0
output:
---\|||
--\||||
-\|||||
X||||||
-/|||||
--/||||
---/|||

이것은 코드 골프 이므로 가장 짧은 코드가 승리합니다.


함수가 문자와 함께 7x7 행렬을 출력 할 수 있습니까 아니면 콘솔에서 인쇄해야합니까?
digEmAll

답변:



5

R , 136 (119) 116 바이트

function(i,j,m=diag(7),R=row(m)-i,a=j-col(m)){m[]='-'
m[R==a]='\\'
m[R==-a]='/'
m[R<a&R>-a|R>a&-R>a]='|'
m[i,j]=0
m}

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

  • @Giuseppe 덕분에 -3 바이트 절약

와이어의 좌표 (행, 열)를 취하고 (1 인덱스) 문자가 포함 된 7x7 행렬을 반환하는 함수입니다.






0

, 21 바이트

GL⁷-↙⁶X‖B↘¬‖J±N±NT⁷¦⁷

온라인으로 사용해보십시오! 색인이없는 열과 행을 입력으로받습니다. 설명:

GL⁷-

-s 의 삼각형을 그 립니다.

↙⁶

빗변을 따라 선을 그립니다. (이것은 잘못된 방법이지만 나중에 수정하겠습니다.)

X

그리기 X있음을 나타냅니다 와이어의 위치를. (물론 여기서는 다른 ASCII 문자를 사용할 수 있습니다.) 그림의 8 분의 1을 완료합니다.

‖B↘¬

¬다이어그램을 거의 완성하도록 문자를 변환하는 동안 세 번 ( = left + down) 반영 하십시오.

/와 함께 s 를 전환하도록 변환하지 않고 반영\ 이제 s X를 향하는 대신을 향하게합니다.

J±N±N

원하는 출력의 왼쪽 상단으로 이동하십시오.

T⁷¦⁷

결과를 원하는 크기로 자릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.