首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写多米诺效应

写多米诺效应
EN

Code Golf用户
提问于 2014-07-09 17:56:13
回答 18查看 3.7K关注 0票数 26

使用最少的Unicode字符,编写一个接受以下三个参数的函数:

  • 多米诺骨牌总数
  • n影响的多米诺骨牌
  • 倾覆受影响多米诺骨牌的方向(左侧为0L,右侧为1R )

一旦多米诺骨牌被推翻,它也必须以同样的方向推翻剩余的多米诺骨牌。

您应该输出多米诺骨牌,|代表一个站立的多米诺骨牌,\/分别代表一个骨牌向左和向右倾倒。

示例

10, 5, 1应该返回||||//////

6, 3, 0应该返回\\\|||

EN

回答 18

Code Golf用户

发布于 2014-07-09 18:45:29

Ruby,38 (46)字符

代码语言:javascript
复制
e=->n,k,r{k-=r;'\|'[r]*k+'|/'[r]*n-=k}

该函数将方向作为整数(右侧为1,左侧为0 )。接受字符串的函数长8个字符:

代码语言:javascript
复制
d=->n,k,r{n-=k;r<?r??\\*k+?|*n :?|*~-k+?/*-~n}

用法示例:

代码语言:javascript
复制
puts e[10, 5, 1] # or d[10, 5, 'r']
||||//////
puts e[10, 5, 0] # or d[10, 5, 'l']
\\\\\|||||
票数 14
EN

Code Golf用户

发布于 2014-07-09 19:43:47

Haskell,70

代码语言:javascript
复制
f R i l=(i-1)#'|'++(l-i+1)#'/'
f L i l=i#'\\'++(l-i)#'|'
(#)=replicate

假设有一个类型方向,它有构造函数R和L。

票数 8
EN

Code Golf用户

发布于 2014-07-09 19:30:31

Python2 2/3- 54

最后一次加在规则上是相当不错的( 0/1代替'l'/'r')。实际上我的比现有的python解决方案要小。0是左,1是右

代码语言:javascript
复制
def f(a,b,c):d,e='\|/'[c:2+c];h=b-c;return d*h+e*(a-h)

# Usage:
print(f(10,5,1)) # => ||||//////
print(f(10,5,0)) # => \\\\\|||||
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/33221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档