问题标签 [rosetta-stone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - 代码高尔夫:蜘蛛网
挑战
按字符数计算的最短代码,以输出带有与用户输入相等的环的蜘蛛网。
通过重建中心环开始蜘蛛网:
然后添加与用户输入的金额相等的戒指。\ / |
环是由和组成的“蜘蛛圈”的另一层_
,并包裹着中心圈。
输入始终保证为单个正整数。
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:沙漏
挑战
根据用户输入输出沙漏的字符数最短代码。
输入由两个数字组成:第一个数字是一个大于 1 的整数,表示灯泡的高度,第二个数字是沙漏容量的百分比 (0 - 100)。
沙漏的高度是通过在沙漏的灯泡上添加更多线条来制作的,因此尺寸 2(可接受的最小尺寸)将是:
尺寸 3 将添加更多线条,使灯泡能够适应更多“沙子”。
将使用角色绘制沙子x
。顶部灯泡将包含 N% 的“沙子”,而底部灯泡将包含 (100 - N)% 的沙子,其中 N 是第二个变量。
“容量”通过沙漏包含的空格 ( ) 量来衡量。如果百分比不准确,则应四舍五入。
沙子从外向内抽出,如果百分比结果是偶数,则右侧优先。
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:谢尔宾斯基三角
挑战
最短的代码,按字符计数输出由以下 ASCII 三角形组成的 N 次迭代的谢尔宾斯基三角形的 ASCII 表示:
输入是单个正数。
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:自来水
挑战
按字符计数的最短代码,用于识别和标记输入中土地的 ASCII 表示中的水洼。
输入将是景观的 ASCII 表示,包括丘陵、山谷和平坦的土地。该程序应该模拟如果被洪水淹没的景观会是什么样子 - 用水填充所有山谷(字符x
)。
景观总是以字符开始和结束,_
并且至少有 2 个字符长,是最短的输入__
。
小山被定义为高地,不应充满水:
山谷被定义为洼地,将充满水,直到遇到平地:
可以假定输入是干净的,并且仅由字符空格 ( )、换行符 (
\n
)、下划线 ( _
) 以及正斜杠和反斜杠 ( /
and \
) 组成。输入可以看作是一条连续的线,任何包含模糊线输入的输入,例如_/_
或
被视为无效。
对于水下洞穴,如果洞穴水位高于水位,则应保持水位。
测试用例
代码计数包括输入/输出(即完整程序)。
interpreter - 图灵机代码高尔夫
好的,今天的目标是构建一个图灵机模拟器。对于那些不知道它是什么的人,请参阅Wikipedia 文章。我们今天使用的状态表位于作为该页面一部分的正式定义的末尾。
该代码将采用“0”和“1”字符串字符的序列,一个表示机器开始的字符的整数,以及一个表示程序状态的整数(无特定顺序),并输出最终结果对字符串的操作,以及最终位置。例子:
示例 1:
示例 2:
杂项:
- 您的代码必须通过根据需要扩展字符串来正确处理写入磁带上“空格”的尝试。
- 由于指定的状态机未指定任何类型的“空白磁带”操作,因此将所有空白值视为 0。
- 您必须仅计算处理具有初始状态的字符串的评估的方法,如何输出该数据取决于您。
- 在磁带上向右移动是递增的(字符串位置 0 一直在左侧),状态 0 是 A,状态 1 是 B,状态 2 是 C。
(希望)最终编辑: 我对这个问题造成的混乱和麻烦表示最诚挚的歉意:我误读了我列出的提供的状态表,并将其倒退。我希望你能原谅我浪费你的时间;这完全是无意的!
language-agnostic - 代码高尔夫:乌拉姆螺旋
挑战
按字符计数输出Ulam 螺旋的最短代码,螺旋尺寸由用户输入给出。
乌拉姆螺旋线是绘制素数的一种方法。螺旋从中心的数字 1 开始(1 不是素数)并围绕它生成一个螺旋,将所有素数标记为字符 ' *
'。非素数将打印为空格 '
'。
替代文字 http://liranuna.com/junk/ulam.gif
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:钻石二十一点
挑战
从给定的数字卡列表中输出最佳情况二十一点手的按字符计数的最短代码。
输入是从 1 到 10(含)的数字列表,由空格分隔。
输出将是从该卡片列表中形成的最佳二十一点手 - 最接近的可用组合,通过所有卡片值的总和达到 21 而不超过它。卡片可以移除但不能添加。
如果需要移除两张或更多卡片以支持一张卡片以达到相同的结果(移除 5 或 4,1 以获得 21)需要移除最少的卡片。如果要移除相同数量的牌(移除 1,4 或 3,2),则将移除最小值中的最小值的组(在前面的示例中,将移除min(min(3,2), min(1,4))
属于该对的 1,4)。在重复卡的情况下,应删除第一次遭遇。
输出将形成钻石卡,并保留输入顺序:
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:熄灯
挑战
通过字符数最短的代码来解决输入灯灭板。
熄灯板是一个由两个字符组成的不同大小的 2d 方形网格 -.
用于关闭*
的灯和打开的灯。
为了解决这个问题,所有的“灯”都必须关掉。切换一盏灯(即在打开时关闭,在关闭时打开)一次进行 5 盏灯 - 选择的灯和灯以 +(加号)形状围绕它。“选择”中间的灯会解决板子:
由于熄灯!解决方案顺序无关紧要,输出将是一块新板,上面标有要选择的灯泡。上板的解决方案是
在没有侧灯泡可关的角落关灯不会溢出:
在这种情况下,选择右下方的灯泡只会关闭 3 个灯泡。
测试用例
代码计数包括输入/输出(即完整程序)。
language-agnostic - 代码高尔夫:钢琴
挑战
从给定长度的输入音符开始输出钢琴键盘的一部分的按字符计数的最短代码。
输入将由一个[ACDFG]#|[A-G]
开始打印键盘的音符 ( ) 和一个表示要打印的键长度的正数组成,包括第一个音符。
第一个键应该完整打印 - 如果它有一个左尖键,它将被剪切,同样当开始键是尖的时,左键也会被剪切。
夏普键不计算在内,只有白键。
测试用例
代码计数包括输入/输出(即完整程序)。
code-golf - 代码高尔夫:井字游戏
按字符数发布您的最短代码,以检查玩家是否赢了,如果赢了,是哪个。
假设您在变量(棋盘)中有一个整数数组b
,其中包含井字棋盘和玩家的移动,其中:
- 0 = 没有设置
- 1 = 玩家 1 (X)
- 2 = 玩家 2 (O)
所以,给定数组b = [ 1, 2, 1, 0, 1, 2, 1, 0, 2 ]
将代表棋盘
对于这种情况,您的代码应输出1
以指示玩家 1 已获胜。如果没有人获胜,您可以输出0
或false
。
我自己的(Ruby)解决方案将很快推出。
编辑:抱歉,忘记将其标记为社区 wiki。您可以假设输入格式正确,不必进行错误检查。
更新:请以函数的形式发布您的解决方案。大多数人已经这样做了,但有些人还没有这样做,这并不完全公平。该板作为参数提供给您的函数。结果应该由函数返回。该函数可以具有您选择的名称。