编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

30
实施睡眠排序
睡眠排序是我在Internet上找到的整数排序算法。它将打开一个输出流,并为每个并行输入的数字延迟数秒,然后输出该数字。由于延迟,最后输出的数字最大。我估计它具有O(n + m),其中n是元素数,m是最高数。 这是Bash中的原始代码 #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait 这是伪代码 sleepsort(xs) output = [] fork for parallel x in xs: sleep for x seconds append x to output wait until length(output) == length(xs) return …
74 code-golf 

30
找到阶乘!
创建找到非负整数的阶乘的最短程序或函数。 用表示的阶乘!定义为 n!:={1n⋅(n−1)!n=0n>0n!:={1n=0n⋅(n−1)!n>0n!:=\begin{cases}1 & n=0\\n\cdot(n-1)!&n>0\end{cases} 用简单的英语来说,阶乘0为1,阶乘n为n,n大于0时是阶乘n小于n的阶乘。 您的代码应使用标准方法执行输入和输出。 要求: 不使用任何可以计算阶乘的内置库(包括的任何形式eval) 最多可以计算125的阶乘 可以计算数字0的阶乘(等于1) 一分钟内完成,数字最多125 提交时间最短者获胜,如果平局,则以当时票数最多的答案获胜。

13
男修道士模拟器
Ť他从圣Golfus简明的顺序弟兄背诵简短的祷告时,他们看到有人做的传统的交叉的迹象。由于最近在游客中衡量的犯罪率很高,他们在修道院里安装了闭路电视,并雇用您来帮助他们在AI时代保持古老的传统。 您的任务是分析男修道士手指跟踪软件的输出,并告诉您应进行的祈祷次数。输入是一个包含0到4之间的整数的矩阵。1,2,3,4表示手指在连续时间点的位置。0表示非手指。 唯一正确的方法TM过自己是: .1. 3.4 .2. (“。”匹配任何数字)。但是,由于摄像机旋转的不确定性以及人群中虔诚的东正教弟兄的存在(One True Way TM的横向方向相反),您也应该计算所有旋转和反射: .4. .2. .3. .1. .3. .2. .4. 1.2 4.3 2.1 4.3 1.2 3.4 2.1 .3. .1. .4. .2. .4. .1. .3. 一位数字可能是多个十字架的一部分。.pray()通过计算上面3x3子矩阵中有多少个,帮助男修道士确定其AI的次数。编写程序或函数。以任何合理方便的形式输入信息。 遗嘱案例: // in [[0,4,2,0], [1,3,2,4], [2,3,1,0]] // out 2 // in [[4,3,3,2,4,4,1,3,2,2], [0,3,0,2,1,1,2,3,2,3], [0,3,1,3,2,4,3,3,1,1], [4,3,2,3,2,4,1,4,2,3], [0,4,2,3,4,0,2,3,2,4], [2,1,0,0,2,0,0,1,2,4], [4,0,3,1,3,2,0,3,2,3], …
73 code-golf  matrix 

30
这种关系令人毛骨悚然吗?
根据该XKCD漫画,有一个公式可以确定关系中的年龄差距是否“令人毛骨悚然”。该公式定义为: (Age/2) + 7 是您可以约会的最低年龄。 因此,如果一个关系中的任何一个人都比另一个人的最小年龄年轻,那么这个关系就是令人毛骨悚然的。 考虑到两个人的年龄,您能否输出这种关系是否令人毛骨悚然? 规则 您的程序应使用两个整数作为输入,关系中两个人的年龄。这些可以采用任何合理的格式。 然后,您的程序必须输出一个真实或虚假的值,描述该关系是否为“令人毛骨悚然的”(Truthy = Creepy)。 不允许出现标准漏洞。 这个难题是Code Golf,因此以最短的源代码(以字节为单位)的答案会胜出 测试用例 40, 40 - Not Creepy 18, 21 - Not Creepy 80, 32 - Creepy 15, 50 - Creepy 47, 10000 - Creepy 37, 38 - Not Creepy 22, 18 - Not Creepy

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
给我盖一堵砖墙!
挑战 我需要帮助来建造一堵砖墙!在没有输入的情况下为我提供一些代码,并产生以下输出墙: _|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__ _|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__ _|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__ _|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__ _|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__ 现在,这堵墙正好是10字符高而70字符宽。 如上所述,没有输入,只有代码。最少的字节数,我们必须有效地构建此砖墙。显然,此程序必须具有构建墙的功能。否则它显然不会自行构建!祝好运! 优胜者 获胜者使用该语言前往MarinusAPL,需要一整个12字节! https://codegolf.stackexchange.com/a/99028/61857 谢谢大家的参与!

18
未来派枪决斗
未来的背景 在2017年,您和您的对手将在一场只有未来一场生存的未来派枪战中对峙。您是否有足够的经验击败对手?现在是时候以您最喜欢的编程语言来提高您的枪支技能,并与一切斗争吧! 比赛结果 本次比赛在早上UTC 2月2日结束的第二,2017年由于我们的选手,我们有一个令人兴奋的未来的比赛! 经过与CBetaPlayer和StudiousPlayer的激烈角逐,MontePlayer是最终的赢家。三位关岛顶级决斗者拍摄了纪念照: MontePlayer - by TheNumberOne +------------+ CBetaPlayer | | - by George V. Williams +------------+ # 1 | StudiousPlayer - by H Walters | +----------------+ | # 2 # 3 | +------------------------------------------+ The Futurustic Gun Duel @ PPCG.SE 2017 恭喜获奖者!详细的排行榜可以在本文结尾处看到。 一般指导 访问官方资源库以获取本比赛中使用的源代码。 C ++条目:请继承Player该类。 非C …

24
可发布的哈希函数挑战
在此代码挑战中,您将使用140字节1或更少的源代码编写一个哈希函数。哈希函数必须将ASCII字符串作为输入,并返回24位无符号整数([0,2 24 -1])作为输出。 您的哈希函数将针对这本大型英式英语词典2中的每个单词进行评估。您的分数是与另一个单词共享一个哈希值(冲突)的单词数量。 得分最低者获胜,第一张海报打破了平局。 测试用例 提交之前,请在以下输入中测试评分脚本: duplicate duplicate duplicate duplicate 如果它给出的分数不是4,那就是越野车。 澄清规则: 您的哈希函数必须在单个字符串上而不是整个数组上运行。另外,您的哈希函数除了输入字符串和输出整数外,可能不执行任何其他I / O操作。 不允许使用内置的哈希函数或类似功能(例如,加密加扰字节)。 您的哈希函数必须是确定性的。 与大多数其他竞赛相反,允许专门针对得分输入进行优化。 1我知道Twitter限制字符而不是字节,但为简单起见,我们将字节作为对此挑战的限制。 2从Debian的wbritish-huge修改而来,删除了所有非ASCII单词。

30
堆栈交换投票模拟器
写一个程序或函数,它仅包含字符的字符串^和v(你可以假设不会有其他字符)。从左至右读取此字符串表示单个用户在首次查看Stack Exchange问题或答案时进行的鼠标单击顺序。 每个^代表单击“ upvote”按钮,每个v代表单击“ downvote”按钮。(有关工作示例,请向左稍看。) 假设没有投票限制有效,因此所有点击均已正确注册。 打印或退回: 1或者+1该帖子最终被否决。 0如果帖子最终没有被投票。(-0并且+0无效) -1 如果帖子最终被否决。 帖子以用户的零净票数开头,按钮如下更改净票数: Net Votes Before Button Pressed Net Votes After 1 ^ 0 1 v -1 0 ^ 1 0 v -1 -1 ^ 1 -1 v 0 以字节为单位的最短代码获胜。 测试用例: [empty string] -> 0 ^^ -> 0 ^v -> -1 …

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

30
哈斯克尔高尔夫技巧
您在Haskell打高尔夫球有哪些一般秘诀?我正在寻找可以应用于编码高尔夫问题的想法,这些想法至少在某种程度上特定于Haskell。每个答案请只发表一个提示。 如果您是Haskell的高尔夫新手,请参阅Haskell的高尔夫规则指南。还有一个专门的Haskell聊天室:Monads and Men。

30
未折叠数字
任务 给定一串英文数字名称,它们“一起折叠”,如下所示: zeronineoneoneeighttwoseventhreesixfourtwofive 将字符串拆分回数字: zero nine one one eight two seven three six four two five 规则 输入始终是字符串。它始终由一个或多个小写的英文数字名称组成,折叠在一起,仅此而已。 英文数字名称为zero one two three four five six seven eight nine。 输出可以是字符串列表,也可以是新字符串,其中的数字由非字母,非空字符串分隔。(您的输出也可以选择在开头或结尾处包含这样的字符串,并且分隔符不必保持一致。因此,即使这样,{{ zero0one$$two );也是有效的答案(如果很荒谬)zeroonetwo。) 以字节为单位的最短答案将获胜。 测试用例 three -> three eightsix -> eight six fivefourseven -> five four seven ninethreesixthree -> nine three six …
72 code-golf  string 

14
多种语言的Hello World
任务 创建在多种编程语言中有效的程序或函数,并在将其编译/解释为其他语言时输出“ Hello,World!”。用另一种自然语言 例如,一个有效的解决方案Hello World!在编译并以C语言运行时可能会输出(英语),Hallo Welt!在编译并以C ++身份运行时可能会(德语),而在你好世界!Python时则输出(中文)。 规则 为了避免对答案的有效性产生歧义,下面列出了几种语言允许的短语版本。该列表包含这些短语,其中Google Translate对该短语进行了社区验证的翻译(截至撰写本文时)。* 这些翻译的准确性值得商,,但这正是挑战所要使用的。打印的字符串必须完全遵循以下格式(开头或结尾的空格除外)。 Afrikaans: Hello Wêreld! Albanian: Përshendetje Botë! Amharic: ሰላም ልዑል! Arabic: مرحبا بالعالم! Armenian: Բարեւ աշխարհ! Basque: Kaixo Mundua! Belarussian: Прывітанне Сусвет! Bengali: ওহে বিশ্ব! Bulgarian: Здравей свят! Catalan: Hola món! Chichewa: Moni Dziko Lapansi! Chinese: 你好世界! Croatian: Pozdrav svijete! …

16
世界上最小的Web浏览器
幕后故事: 您可以在一家大型跨国公司享受新的编程工作。但是,由于您的计算机只有一个CLI,因此不允许浏览网络。它们还会对所有员工的硬盘进行扫描,因此您不能简单地下载大型的CLI Web浏览器。您决定制作一个尽可能小的小型文本浏览器,以便记住并每天将其键入到临时文件中。 挑战: 您的任务是在命令行界面中创建高尔夫Web浏览器。这应该: 通过args或stdin输入一个URL 拆分URL 的directory和host组件 发送一个简单的HTTP请求到host以请求directory 打印任何<p>段落</p>标签的内容 然后退出或要求另一页 更多信息: 一个简单的HTTP请求如下所示: GET {{path}} HTTP/1.1 Host: {{host}} Connection: close \n\n 结束换行符强调。 典型的响应如下: HTTP/1.1 200 OK\n <some headers separated by newlines> \n\n <html> ....rest of page 规则: 它只需要在端口80上工作(不需要SSL) 您可能不使用netcat 无论使用哪种编程语言,都仅允许使用低级TCP API(netcat除外) 您可能不使用GUI,请记住,这是一个CLI 除内置解析器外,您不能使用HTML解析器(BeautifulSoup不是内置的) 奖金!!如果您的程序循环返回并要求另一个URL而不是退出,则为-40个字符(只要您不使用递归) 没有第三方程序。请记住,您无法安装任何东西。 code-golf,所以最短的字节数获胜

30
生日快乐V!
感谢@KritixiLithos 帮助我解决了这一挑战! V是我编写的一种编程语言,因此我可以使用vim并将其扩展到代码高尔夫球挑战中。第一次提交是在2016年3月3日,这意味着今天V已满一岁!呜呼 在V成立的第一年,来自四个不同贡献者的176次提交,来自12个不同用户的140个答复以及太多重复的重复运算符无法计数。它有一个在线解释器,由@Dennis慷慨托管,自12月以来已运行了近8000次。 让我们来挑战庆祝V的生日吧!由于V中的大多数功能在设计时都考虑了字符串操作和ascii-art,因此,庆祝V的任何挑战都应该与ascii艺术有关,这似乎很自然。因此,您今天面临的挑战是将一个单词用作输入,然后将该单词重塑为V形。例如,输入“ Hello”应给出以下V: Hello olleH Hello olleH Hello olleH Hello olleH Hello olleH HellolleH HellleH HeleH HeH H 以下是有关您的V外观的一些详细信息。如果输入字符串的长度为n个字符,则V应为多n*2行。第一行应包括: <input string><(n*2) - 1 spaces><input string reversed> 在每一行中,在开头添加一个空格,并且字符串的两侧彼此相对移动,从而删除所有重叠的字符。直到最后一行,这只是输入的第一个字符。每行尾随空格都是可以接受的,尾随换行符也是允许的。 您可以假定输入将始终是可打印的ASCII,且其中没有任何空格,并且可以采用任何合理的方法进行输入和输出。以下是一些示例输入: Happy: Happy yppaH Happy yppaH Happy yppaH Happy yppaH Happy yppaH HappyppaH HapppaH HapaH HaH H Birthday: Birthday yadhtriB …

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.