磁铁周围的铁颗粒


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

Answers:



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矩阵。



1

的JavaScript(ES7), 105个  103字节

将输入作为(y)(x),0索引。

Y=>X=>(g=x=>y<7?`/\\-|X
`[h=(X-x)**2,v=(Y-y)**2,x<7?h<v?2:h>v?3:h?x<X^y<Y:4:5]+g(x<7?x+1:!++y):'')(y=0)

在线尝试!



1

Python 2,105个字节

lambda x,y:[''.join(['/-|'[cmp(abs(i-x),abs(j-y))],'\X'[i==x]][i-x==y-j]for j in R)for i in R]
R=range(7)

在线尝试!


0

木炭,21字节

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

在线尝试!将索引为0的列和行作为输入。说明:

GL⁷-

画一个三角形的-s。

↙⁶

沿斜边画一条线。(这是错误的方法,但是我们稍后会修复。)

X

画出X表示电线位置的。(当然,这里也可以使用其他ASCII字符。)这完成了图形的八分之一。

‖B↘¬

反射三遍(¬=左+向下),同时转换字符以使图表几乎完整。

在不进行转换的情况下进行反射而不用切换/s,\因此它们现在指向X而不是指向。

J±N±N

跳至所需输出的左上方。

T⁷¦⁷

将结果修剪到所需的大小。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.