Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

12
N皇后拼图
(尽管有超过60个问题标记为下棋,但我们没有简单的n皇后挑战。) 在国际象棋中,N-皇后之谜的描述如下:给定n x n棋盘和n皇后,将皇后排列在棋盘上,以使没有两个皇后相互威胁。以下是n = 8从Wikipedia借来的的示例解决方案。 或者,在ASCII渲染中: xxxQxxxx xxxxxxQx xxQxxxxx xxxxxxxQ xQxxxxxx xxxxQxxx Qxxxxxxx xxxxxQxx 这里的挑战将是输入n和输出n-Queens难题解决方案的ASCII表示形式。由于存在多个可能的解决方案(例如,至少是旋转或反射),因此您的代码仅需要输出任何有效的解决方案。 输入项 n具有n >= 4 任何方便格式的单个正整数。(n = 2和n = 3没有解,并且n = 1很小,因此将其排除在外) 输出量 如上所述,解决了N-queens难题的结果的ASCII表示形式。您可以选择任何两个不同的ASCII值来表示空格和皇后。同样,可以以任何合适的格式(单个字符串,字符串列表,字符数组等)输出。 规则 前导或尾随的换行符或空格以及字符之间的空格都是可选的,只要字符本身正确对齐即可。 您既可以使用算法来计算可能的位置,也可以使用显式的“阶梯式”解决方案样式,以哪种方式更适合您的代码。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 n=4 xQxx xxxQ Qxxx xxQx n=7 xxQxxxx xxxxxxQ xQxxxxx xxxQxxx xxxxxQx Qxxxxxx xxxxQxx …

1
您今天失去了多少声誉?
假设由于年龄限制,StackExchange在删除帐户后仍未决定恢复我的帐户(即使我已经14岁,几乎是15岁),该网站上的许多人刚刚因删除我的投票而失去了声誉。这发生在UTC于2017年6月20日下午5:30左右。 因此,您面临的挑战是,在给定用户的PPCG ID的情况下,显示由于我的删除而丢失了多少PPCG信誉。 挑战 输入项 一个整数将代表用户在PPCG上的UUID。 输出量 一个整数将代表用户因此而失去的声誉。如果用户在同一小时内多次由于删除用户而失去声誉,那么如果程序返回错误用户的号码,则可以接受。如果用户从删除我的帐户中获得了声誉,则您的程序应返回负数以失去负声誉。最后,如果我在过去60天内没有对该用户进行投票,则您的程序应返回0。 测试用例 UUID -> REP-LOST (Username) # Don't output the username 40695 -> 22 (Downgoat) 12012 -> 148 (Dennis) 8578 -> 61 (Martin Ender) 您可以前往/codegolf//users/<UUID>/?tab=reputation&sort=post并寻找User was removed (learn more) 最初的想法归功于Uriel的批准 注意 感谢郑焕敏提供的链接! /codegolf//ajax/users/<UUID>/rep/day/1497916800 您可以从上面的此链接中获取用户声誉更改的原始数据。
17 code-golf 

21
其他事实!
在数学中,由n!表示的非负整数n的阶乘,缩短的“事实” 。是所有小于或等于n的正整数的乘积。例如5!是1 * 2 * 3 * 4 * 5 = 120 根据惯例,空乘的0阶乘为1。 这些是我们习惯的常规事实。让我们添加一些替代方法: 阶乘(上面定义) 双阶乘:n!= 1 + 2 + ... + n 三重因子:n!= 1-(2-(3-(...-n)))...) 四倍阶乘:n !!!! = 1 /(2 / /(3 ... / n)))...)。注意:这是浮点除法,而不是整数除法。 挑战 取一个非负整数输入n,紧跟着1到4个感叹号。输入看起来(完全)像这样:0!,5!,132!还是4个!!!。抱歉,在此挑战中,您可能不会采用灵活的输入格式。 输出量 输出应该是任何方便格式的结果。四阶阶乘的结果必须在小数点后至少2位,除了0 !!!! = 0。 测试用例: 0! = 1 1! = 1 2! …

4
不可能的立方体
问题 给定一个输入a,其中a为真值/伪造值,如果为true,则输出下面的确切不可能立方体,如果为falsey则输出下面的确切普通立方体。 输入truthy: ___________________________________ / _______________________________ /| / / _____________________________/ / | / / /| | / / | / / / | | / / | / / /| | | / / /| | / / / | | | / / / | | / / / …

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

12
这只是一个输入错误
继续我的那只是一个错误挑战: 输入: 一个字符串,由可打印的ASCII字符组成,没有空格和换行符。 输出: 首先,通过还原输入并将其添加到自身之前,将输入转换为回文,不包括中间字符(即使用输入1234567890,它将变为0987654321234567890))。 然后输出此文本: 0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 …

10
魔术六角
正如James Grime博士所解释的,有很多魔术方块,但是只有一个非平凡的魔术六角形,如下所示: 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 正如在Hexagony中所做的那样,只需逐行阅读,最容易写成一行: 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 如果计算旋转和反射,当然总共有十二个这种六边形的此类列表表示形式。例如,上述六边形的顺时针旋转1/6将导致 9 11 18 14 6 1 17 15 …

14
您是奥运会的东道主!
您主办奥林匹克运动会,并且需要为此建立一个梦幻般的游泳池,但是主管们经常改变尺寸的主意,并需要一种快速的方法来按要求的尺寸进行重建! 给定两个整数L和x,您的任务是建立一个长度L和x车道的游泳池。 游泳池如何建造? 它包含一个内部正方形,该内部正方形的水平壁由L连续的破折号(-)组成,而垂直壁由3x - 1条形(|)组成。此外,+每个角落都有4个标志。让我们举一个例子(L = 10, x = 2): + ---------- + | | | | | | | | | | + ---------- + 每个通道的宽度为2个垂直单位。内部正方形x-1由车道分隔符填充,该分隔符由L水平连续的:符号组成。放置通道分隔符后,我们的池应如下所示: + ---------- + | | | | | :::::::::: || | | | | + ---------- + 池还包含一个填充(一个外部正方形),其填充水平(L + 4)-秒,垂直填充壁(3x +1)|秒,围绕内部正方形: + …

10
对按字节预算的人进行简单加密
总览 您的目标是实施RC4加密。RC4加密技术是由RSA著名的Ron Rivest发明的,旨在确保安全性,但又足够简单,可以由战场上的军人从内存中实施。如今,RC4受到多种攻击,但今天仍在许多地方使用。 您的程序应接受包含键和一些数据的单个字符串。它将以这种格式显示。 \x0Dthis is a keythis is some data to encrypt 第一个字节代表密钥多长时间。可以假设密钥将不超过255个字节,并且不小于1个字节。数据可以任意长。 您的程序应处理密钥,然后返回加密的数据。RC4加密和解密是相同的,因此使用相同的密钥“加密”密文应返回原始明文。 RC4如何工作 初始化 RC4的初始化非常简单。256字节的状态数组被初始化为0到255之间的所有字节。 S = [0, 1, 2, 3, ..., 253, 254, 255] 密钥处理 状态值将根据键进行交换。 j = 0 for i from 0 to 255 j = (j + S[i] + key[i mod keylength]) mod 256 …

15
扩展真理机
许多人知道编程中的真机。但是现在是时候让我们努力了。介绍,扩展的真机!扩展的真理机器将两件事作为输入,一个整数n和一个非空字符串s。输出s n带有可选尾随空格的时间。但是,如果n等于0,则必须输出,s直到手动停止程序为止,即永远不要终止它。 另外,如果n为负数,则字符串需要颠倒。例如,使用s=helloand n=-1,输出将为olleh。 输入的标准方法,任何种类的输出,只要可以处理无限。如果您的答案不能处理无限大,请在有趣的情况下或以无法处理无限大输出的语言随意发布。 测试用例 n, s, output 5, "hello world", "hello worldhello worldhello worldhello worldhello world" 0, "PPCG", "PPCGPPCGPPCGPPCG..." -2, "truThY", "YhTurtYhTurt" 2000, "o", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" 这是代码高尔夫球,所以最短的代码获胜! 这是原始的沙盒帖子。已对其进行了编辑。感谢@ComradeSparklePony创建了这个挑战的想法

1
展平立方体
您是否曾经看过3D形状,并认为我们有2个许多维度。因此,让我们将3D变成1D!(看看我在那里做了什么?) 任务 给定多维数据集的2D表示形式(下面的布局),根据指针将其展平为单个字符串。 多维数据集 这是立方体的布局,其中无操作(,)和指针位于角(<>v^/)。导航指针(NP)在显示的位置启动程序。 | NP begins here, moving right. V >,,,,,,,,,,,,,,,,,,v , ,, , , , , , , , , , , , , , , , , , , , , , /,,,,,,,,,,,,,,,,,,/ / , , , , , , , , , , , , …

1
防旋转安全绳
编写一个适当的quine,其每个旋转本身就是一个适当的quine。 例如,如果您的源代码是abcdef,则: abcdef 将输出 abcdef bcdefa 将输出 bcdefa cdefab 将输出 cdefab defabc 将输出 defabc efabcd 将输出 efabcd fabcde 将输出 fabcde 旋转“是通过将字符串分成两部分并颠倒其顺序来进行的”。 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

13
放置滑翔机!
这个: 是滑翔机。 在Conway的《生命游戏》中,滑翔机是一种著名的图案,可以快速遍历整个滑板。对于今天的挑战,我们将绘制一个ASCII艺术的生命游戏板,并在其上放置一个滑翔机。 我们开始的董事会是这样的: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 此木板完全由管道|和下划线组成_,为10x10。您必须编写一个包含两个整数“ x”和“ y”的程序或函数,并在这些坐标处使用滑翔机输出同一块板。例如,如果在位置(1, 1)(索引为0)有一个滑翔机,则必须输出以下内容: |_|_|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |_|_|_|*|_|_|_|_|_|_| |_|*|*|*|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 您可以假设滑翔机将永远不会超出范围,因此x和y都将始终在该[0-7]范围内。您也可以选择采用1索引的坐标,但是必须在答案中指定。在这种情况下,输入将始终在[1-8]范围内。以下是一些示例(所有索引均为0): 0, 0: |_|*|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |*|*|*|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 7, 7: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| …

1
修剪矩形草坪
草坪被定义为一个矩形区域,其中一个字符被两层可见空白包围。这意味着上方有两行,下方有两行,并且左侧有两个空格填充(右侧具有可见的空格,因此您无需将其包括在内)。 ||||| ||||| ||||| 修剪过的草坪具有类似的结构,除了主要角色是第一个角色的简化版本。 ..... ..... ..... 割草机是两个不同的角色,与两个草坪角色不同。这是一个例子,=作为割草机的后面和o前面: =o 割草机将在草坪上垂直移动,也可以在草坪的前面旋转。在动画中的某些时候,上面的割草机可能看起来像下面的任何割草机: =o o= o = = o 割草机可以在下面的草坪上的以下任何位置上启动。割草机o将顺时针绕草坪行驶。割草机0将逆时针绕草坪行驶。 = = 0 o =o|||||0= ||||| =0|||||o= o 0 = = 动画从第二个0开始。割草机每秒钟向前移动一个空间,并在其前面割草。当割草机腾出一个点时,它似乎被割断了。当割草机的前部到达生产线上的最后一个未切割的物品时(仍然有未割的草),割草机的后部旋转一次,以继续当前的割草(基于原始位置顺时针/逆时针停留)当割草机完成后,它继续笔直(修剪已经割好的草),直到完全离开草坪。 从左上角开始有割草机,这显示了5x3草坪的基本过程: Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second …

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.