Questions tagged «code-golf»

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

30
打印自定义字母
挑战 显示从控制台输入读取的给定字母的字母。如果字母是大写字母,则必须以大写字母显示。打印的字母必须以所插入字母的开头字母结尾。如果将附加参数添加到输入(一个简单的点.),则该字母应在每行中打印一个字母。否则,应将字母打印在同一行中,并用一个简单的空格分隔。如果将错误的输入发送到程序,它将不会打印任何内容。 输入示例: 输入: c 程序的输出: d e f g h i j k l m n o p q r s t u v w x y z a b 输入值 H. 程序的输出: I J K L M N O P Q R S T U V W X …
20 code-golf  string 

13
实施蛮力数独解算器
使用猜测实现最短的数独求解器。由于我收到了一些请求,因此我将其添加为希望实施蛮力数独解决方案的用户的替代问题。 数独拼图: | 1 2 3 | 4 5 6 | 7 8 9 -+----------------------- A| 3 | 1 | B| 6 | | 5 C| 5 | | 9 8 3 -+----------------------- D| 8 | 6 | 3 2 E| | 5 | F| 9 3 | 8 | …

30
加性持久性
传递所有可能性的最短代码将获胜。 在数学中,数字的持久性表示必须对某位数字进行某种操作,直到达到某种特定的固定条件。您可以通过将整数的数字相加并重复来确定正整数的加性余辉。您将不断添加总和的数字,直到找到一个数字为止。达到该单个数字所花费的重复次数是该数字的累加持久性。 使用84523的示例: 84523 8 + 4 + 5 + 2 + 3 = 22 2 + 2 = 4 It took two repetitions to find the single digit number. So the additive persistence of 84523 is 2. 您将得到一个正整数序列,您必须计算它们的加法持久性。每行将包含一个不同的整数要处理。输入可以采用任何标准的I / O方法。 对于每个整数,必须输出整数,后跟一个空格,再加上其累加持久性。每个处理的整数必须在自己的行上。 测试用例 输入输出 99999999999 3 10 1 8 0 …

7
钻石化一些文本
给定一个2仅由字母字符组成的长度或更长的输入字符串,[A-Z]或者[a-z](如果它们全部为大写或全部为小写,则选择),输出一个连续的字符串,形成双菱形图案。 输入字符串从中心线开始,并沿对角线左右延伸,直到到达输入字符串的末尾。然后,该图案沿对角线继续上下移动,直到您到达中心线为止,直到输入字符串的长度减去1。再继续上下左右回到中心线,然后上下移动向左,然后向上和向左(位于中心字符“后面”),最后向下和向左返回起始字符。 有点罗word,下面的例子可以更好地说明这一点: "YOU" U Y Y O U O Y O U O Y U Y U O ^ ^ ↙ ↖ ↗ ↘ ↘ ↗ > ↘ ↗ ↖ ↙ V V 查看YOU起始点如何从中心线开始,然后依次从右到下,然后从上到右,依此类推,直到循环回到起点。特别要注意的是Y,左上方和左上方的“ 如何”位于“之后” O,因此未显示。 进一步的例子: "HI" I I H H H I I "TEST" E E S …

16
逃离迷宫!
您被困在这个5x5的迷宫中-每个房间的标签从1到25,出口在房间1中。 您将获得当前房间的输入。您的任务是输出到达房间1所需的最短移动顺序(北,东,南,西)。 只要使用字符,都可以以任何希望的格式(列表,字符串,数组...)输出动作n,w,e,s。 这是所有测试用例: 1 => empty string/list 2 => w 3 => ww 4 => swwnw 5 => wswwnw 6 => seenwnw 7 => nw 8 => wnw 9 => wwnw 10 => swwnwnw 11 => eenwnw 12 => enwnw 13 => nwnw 14 => wnwnw 15 => wwnwnw …

19
一些总理
(随机启发/mathpro//q/339890) (相关:1,2) 给定一个包含不同素数的输入列表(例如[2, 5, 7])和一个整数n,输出所有严格小于所有n仅包含那些素数作为除数的正整数。对于输入[2, 5, 7],n=15这意味着输出为[2, 4, 5, 7, 8, 10, 14]。 进一步的例子 [list] n | output [2, 5, 7] 15 | [2, 4, 5, 7, 8, 10, 14] [2, 5, 7] 14 | [2, 4, 5, 7, 8, 10] [2] 3 | [2] [2] 9 | [2, 4, …
20 code-golf  primes 

19
编码高尔夫测量师©2019
编码高尔夫测量师©2019 与一起使用的Hexdump xxd看起来像这样: 00000000: 666f 6f20 6261 7220 7370 616d 2065 6767 foo bar spam egg 00000010: 730a s. 您的任务是将这种形式的十六进制转储转换为使用的字节数。 规则: 通常的漏洞被禁止。 这是代码高尔夫球,因此最短的有效答案(以字节为单位)将获胜。 您可以在文本(0a)的末尾添加或不添加换行符。这意味着,如果十六进制转储以换行符(0a)结尾,则该输入可能会将其输出减少一。 空输入(实际上什么都没有:空列表/字符串/等)必须输出0。 输入可以采用任何形式 输入将是有效的ASCII码,没有控制字符 输入必须包含整个hexdump 测试用例: 00000000: 4865 6c6c 6f2c 2077 6f72 6c64 2120 4865 Hello, world! He 00000010: 6c6c 6f2c 2077 6f72 6c64 210a llo, world!. …

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

12
永久的Codegolf
挑战是为矩阵的永久性编写代码高尔夫球。 n-by- nMatrix A=(ai,j)的永久变量定义为 在此S_n表示的所有排列的集合[1, n]。 作为一个例子(来自维基): 您的代码可以随意输入,并以任何合理的格式输出,但是请在答案中包括一个完整的示例,其中包括有关如何向代码提供输入的明确说明。为了使挑战更加有趣,矩阵可以包含复数。 输入矩阵始终为正方形,最多为6 x6。 您还需要能够处理具有永久性1的空矩阵。不需要处理空矩阵(这会引起过多的结果)。问题)。 例子 输入: [[ 0.36697048+0.02459455j, 0.81148991+0.75269667j, 0.62568185+0.95950937j], [ 0.67985923+0.11419187j, 0.50131790+0.13067928j, 0.10330161+0.83532727j], [ 0.71085747+0.86199765j, 0.68902048+0.50886302j, 0.52729463+0.5974208j ]] 输出: -1.7421952844303492+2.2476833142265793j 输入: [[ 0.83702504+0.05801749j, 0.03912260+0.25027115j, 0.95507961+0.59109069j], [ 0.07330546+0.8569899j , 0.47845015+0.45077079j, 0.80317410+0.5820795j ], [ 0.38306447+0.76444045j, 0.54067092+0.90206306j, 0.40001631+0.43832931j]] 输出: -1.972117936608412+1.6081325306004794j 输入: [[ 0.61164611+0.42958732j, 0.69306292+0.94856925j, 0.43860930+0.04104116j, …
20 code-golf  math  matrix 

8
在Excel中打高尔夫球的技巧?
奇怪的是我还没有看到它,因为Excel似乎是代码打高尔夫球的有效语言(尽管它的“编译器”不是免费的)。 Excel有点像打高尔夫球的通配符,擅长于中等复杂度的高尔夫挑战,有时甚至是更简单的挑战。通常,Excel擅长处理字符串操作和混合的字符串-数字操作。 您在Excel中打高尔夫球有哪些一般提示?我正在寻找可用于编码一般至少在某种程度上特定于Excel(NOT VBA)的高尔夫问题的想法。请给每个答案一个提示。
20 code-golf  tips 

3
扩展bash括号扩展
出于大多数历史原因,bash是语法和编程范例的杂烩,这会使它变得笨拙,有时使他们沮丧。语言。其中之一是支撑扩展。 括号扩展有两种基本类型: 列表花括号可以包含逗号分隔的任意字符串列表(包括重复项和空字符串)。例如{a,b,c,,pp,cg,pp,}将扩展为a b c pp cg pp(注意空字符串周围的空格)。 序列括号可以包含以分隔的序列终点..。可选地,..可以跟随另一个,然后是步长。序列端点可以是整数或字符。该序列将根据哪个端点更大而自动上升或下降。例如: {0..15} 将扩展到 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 {-10..-5} 将扩展到 -10 -9 -8 -7 -6 -5 {3..-6..2} 将扩展到 3 1 -1 -3 -5 {a..f} 将扩展到 a b c d e f …
20 code-golf  string 

3
一个上升,另一个下降
介绍 在这个挑战中,您的任务是确定给定的数字序列是否可以分为两个子序列,其中一个在增加,另一个在减少。例如,考虑序列8 3 5 5 4 12 3。它可以分为两个子序列,如下所示: 3 5 5 12 8 4 3 第一行的子序列增加,第二行的子序列减少。此外,您应该有效地执行此任务。 输入项 您的输入是一个非空L的整数列表,范围在0到99999(含)之间。它以您的语言的本机格式给出,或仅由空格分隔。 输出量 如果L可以分解为递增和递减子序列,则输出为真值,否则为假值。子序列不必严格增加或减少,它们中的任何一个都可以是空的。 规则和奖金 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。此外,在此挑战中禁止强行使用:您的程序必须在输入长度内以多项式时间运行。 您不需要实际返回这两个子序列,但是这样做有-20%的奖金。为了使奖金更容易以静态类型的语言申领,可以为伪造的实例返回一对空列表。 测试用例 input -> None以错误输入和input -> inc dec真实输入的格式给出。这里只给出一对可能的子序列。可能还有更多。 [4,9,2,8,3,7,4,6,5] -> None [0,99999,23423,5252,27658,8671,43245,53900,22339] -> None [10,20,30,20,32,40,31,40,50] -> None [49,844,177,974,654,203,65,493,844,767,304,353,415,425,857,207,871,823,768,110,400,710,35,37,88,587,254,680,454,240,316,47,964,953,345,644,582,704,373,36,114,224,45,354,172,671,977,85,127,341,268,506,455,6,677,438,690,309,270,567,11,16,725,38,700,611,194,246,34,677,50,660,135,233,462,777,48,709,799,929,600,297,98,39,750,606,859,46,839,51,601,499,176,610,388,358,790,948,583,39] -> None [0,1,2,3,4] -> [0,1,2,3,4] [] [4,3,2,1,0] -> [] [4,3,2,1,0] …

10
迷宫可以解决吗?
难题 如果迷宫n * m无法解析,则打印0 如果可以解决迷宫n * m(以1种或多种方式),则打印1。 (所以我不是在问路径,但是是否有可能解决!!!) 输入数组(2d): [[0,0,0,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,1,0,0],[1,0,0,0,0,0,0]] XXXXXXXXX XS XX X X X X X X XX FX XXXXXXXXX 0 = can pass through 1 = can not pass trough [0][n] is the last block of the first line [m][0] is the first block of the last …

2
玩Connect 4!
编写一个程序玩Connect 4游戏。您将获得棋盘的状态作为输入,并且必须决定将棋子放置在哪一列中,以连续获取4个(水平,垂直或对角线)或阻止对手进行相同的操作。 棋盘是一个6x7的阵列,其中每个单元格可以为空(''),包含您的棋子('X')或对手的棋子('O')。示例板: O XX X XOX OO XOO OXO OXXOXXO XOXOXOX 您可能希望在第3列(第0-6列,从左开始编号)中对角线获胜。所以你输出: 3 您的代码必须输出列号,并且必须满足以下条件: 您不能在已经有6个乐段的列中演奏。 如果至少有一个获胜的举动,则必须打其中之一。 如果您可以阻止对手继续前进,则必须这样做。 请注意,最佳比赛不是必需的,仅当您获得即时胜利或阻止对手的即时胜利。如果您的对手有不止一种获胜方式,则无需阻止他们。 在标准输入上为您提供了木板,并且必须在标准输出上打印要在其中播放的列号。保证该板的格式正确(无孔,至少可以移动),并且任一方都没有赢球。 最短的代码胜出。 例子1 X O X O OOO X XXX O 您必须打0列或4列才能获胜。 例子2 X X X O O XOX XO XXO XOX XXO XXO 您必须打第3列才能阻止对手的即时获胜。 例子3 X XO OX O XO …

10
埃及分数
概述: 来自维基百科:埃及分数是不同单位分数的总和。即,表达式中的每个分数都有一个等于1的分子和一个为正整数的分母,并且所有分母彼此不同。这种类型的表达式的值为正有理数a / b。每个正有理数都可以用埃及分数表示。 挑战: 编写最短函数,该函数将返回加总给定分数的最小单位分数集的所有分母的值。 规则/约束: 输入将是两个正整数值。 这可以是STDIN,argv,逗号分隔,空格分隔,或其他任何你喜欢的方法。 第一个输入值应为分子,第二个输入值应为分母。 第一个输入值应小于第二个输入值。 输出的值可能超过系统/语言(RAM,MAX_INT或存在的任何其他代码/系统约束)的内存限制。如果发生这种情况,只需将结果截断为可能的最高值,然后注意(即...)。 输出应该能够处理至少2147483483647(2 31 -1,32 位带符号int)的分母值。 较高的值(long等)完全可以接受。 输出应是找到的最小单位分数集(或分数本身,即1/2)的分母的所有值的列表。 输出应按照分母的值升序排序(以分数的值降序)。 可以使用任何希望的方式对输出进行定界,但是两者之间必须有一些字符,以便将一个值与下一个值区分开。 这就是代码高尔夫,因此最短的解决方案将获胜。 举例: 输入1: 43, 48 输出1: 2, 3, 16 输入2: 8/11 输出2: 1/2 1/6 1/22 1/66 输入3: 5 121 输出3: 33 121 363

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.