Questions tagged «code-golf»

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

30
随机大写
任务 您的任务是创建一个程序或函数,在给定输入的情况下,将输入文本输出为带有大写字母的随机字母,同时将已经大写的字母保持为大写字母。 小写字母大写的每种组合都应该是可能的。例如,如果输入是abc,应该有输出任何以下组合中的一个非零的概率:abc,Abc,aBc,abC,ABc,AbC,aBC或ABC。 输入值 您的输入是一个字符串,包含任意数量的可打印ASCII字符,例如Hello World。该输入的输出包括HeLLo WoRlD,HElLO WOrld等 计分 这是代码高尔夫,因此每种语言中最短的答案会获胜!

28
这是普罗斯数吗?
一个普罗斯数,弗朗索瓦·普罗斯命名,是可以表示为一个数 N = k * 2^n + 1 其中k是奇数个正整数,n是一个这样的正整数2^n > k。让我们使用一个更具体的例子。取3。3是Proth数,因为它可以写成 (1 * 2^1) + 1 并2^1 > 1感到满意。5也是Proth编号,因为它可以写为 (1 * 2^2) + 1 并2^2 > 1感到满意。但是,7 不是 Proth编号,因为以表格形式写入的唯一方法N = k * 2^n + 1是 (3 * 2^1) + 1 并且2^1 > 3不满意。 您面临的挑战非常简单:给定正整数,您必须编写一个程序或函数,确定该程序或函数是否是Proth数字。您可以采用任何合理的格式输入,如果输出是Proth值,则应输出真实值,如果不是,则应输出错误值。如果您的语言具有“ Proth-number detection”功能,则可以使用它们。 测试IO 以下是前1000个Proth的前46个数字。(A080075) 3, 5, …

7
Python版本清单
Python是当今增长最快的主要编程语言。这是连续第三年最受欢迎的语言,这意味着尚未使用该语言的开发人员表示他们想学习它。[1] Python受欢迎的原因是其许多版本。[需要引用]实际上有116个Python版本,包括两个开发版本。 您的任务是按照您喜欢的顺序和格式,输出/打印所有Python版本的列表。您不得使用任何存储了此信息的内置函数。 您可以自由选择输出格式,但每个版本必须在标准的方式来确定:1.1,2.3.0,2.7.10等。 完整列表2 Python版本的,用逗号分隔如下所示: 1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, …

6
COBOL Y2K Redux
在20世纪90年代,COBOL电脑工程师摸索出了一种通过将它们转换为延长六位数的日期字段YYYDDD,其中YYY是year - 1900和DDD是一年中的一天[001 to 366]。此方案可以将最长日期延长到2899-12-31。 在2898年,工程师们开始恐慌,因为他们已有900年历史的代码库将要失败。从2898年开始,他们只是使用自己的时间机器将一个单独的Codeinator发送到1998年,并使用了该算法,并实现了尽可能广泛地实现它的任务: 请使用一种方案PPQQRR,在这种情况下,如果它是1900年代01 ≤ QQ ≤ 12的标准YYMMDD日期,但如果QQ > 12它代表2000-01-01,则以100为底PP,RR而以87为底QQ - 13。 该方案已远远超过2899年,并且也与标准日期向后兼容,因此不需要修改现有档案。 一些例子: PPQQRR YYYY-MM-DD 000101 1900-01-01 -- minimum conventional date suggested by J. Allen 010101 1901-01-01 -- edge case suggested by J. Allen 681231 1968-12-31 -- as above 991231 1999-12-31 -- maximum conventional date 001300 …

30
连续的1位递增
给定Bits的模式(字符串或数组格式): [0,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1] 任务是用从1开始的升序数字序列替换任意数量的连续1位。 输入值 模式(可以作为字符串或数组接收)示例: 串: 1001011010110101001 数组: [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1] 输出量 升序数字序列(可以作为字符串或数组返回)示例: 串: 1 0 0 1 0 1 2 0 1 0 1 2 0 1 0 1 0 0 1 数组: …

19
支架扩展!
您面临的挑战是在程序的输入中扩展一些括号,如下所示: 在两个匹配的括号和之间找到一个字符串s,在括号后面加上一个数字n。[] 卸下支架。 重复s次,将其自身替换n次。(如果n为0,只需删除s。) 转到步骤1,直到输入中没有匹配的括号为止。 附加规则和说明: 您将接受输入并通过任何允许的方式提供输出。 在输出中允许尾随换行符。 您只需要在输入中处理可打印的ASCII。 您可以假定所有括号都匹配,即您将永远不会收到输入[]]]]或[[[[]。 您可以假定每个右括号]后面都有一个数字。 测试用例: Input -> Output [Foo[Bar]3]2 -> FooBarBarBarFooBarBarBar [one]1[two]2[three]3 -> onetwotwothreethreethree [three[two[one]1]2]3 -> threetwoonetwoonethreetwoonetwoonethreetwoonetwoone [!@#[$%^[&*(]2]2]2 -> !@#$%^&*(&*($%^&*(&*(!@#$%^&*(&*($%^&*(&*( [[foo bar baz]1]1 -> foo bar baz [only once]12 -> only once2 [only twice]23456789 -> only twiceonly twice3456789 [remove me!]0 -> before [in …

19
根据音调持续时间翻译摩尔斯电码
目标 摩尔斯电码通常表示为声音。给定代表声音是打开还是关闭的比特流,请将其转换为字母,数字和空格。 细节 根据重复的ON / OFF位的长度分析位流。 1 ON位是一个点 3 ON位是破折号 1 OFF位定点和破折号 3个OFF位分隔字符 7个OFF位定界单词(空格) 输入可以是字符串或数组。输入中只允许选择两个唯一的字符/值。(例如0/1,对/错,逗号/空格) 输出返回一个字符串或打印到标准输出。 例 Input: 101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101 Analysis: \--H--/ E \---L---/ \---L---/ \----O----/\-- --/\---W---/ \----O----/ \--R--/ \---L---/ \--D--/ Output: HELLO WORLD 假设条件 流始终以ON位开始和结束。 没有前导或尾随空格。 输入始终有效。 支持所有字母(不区分大小写)和数字。 测试用例 101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101 HELLO WORLD 10100000001011100011101110000000101110000000101011101000101000101010001010101 I AM A FISH 1010111011101110001110111011101110111000101110111011101110001110111010101 2017 101010001110111011100010101 …
36 code-golf  morse 

30
Ot wes thi bist uf tomis
我只是喜欢这个简单的密码,阅读不太可读的单词并填补空白非常有趣... Ot wes thi bist uf tomis, ot wes thi wurst uf tomis, ot wes thi egi uf wosdum, ot wes thi egi uf fuuloshniss, ot wes thi ipuch uf biloif, ot wes thi ipuch uf oncridaloty, ot wes thi siesun uf loght, ot wes thi siesun uf derkniss, ot …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

19
查找所有不同的Gozinta链
Gozinta链 (受Euler项目#606的启发) n的gozinta链是{1,a,b,...,n}每个元素正确划分下一个元素的序列。例如,有八个不同的gozinta链用于12: {1,12}, {1,2,12}, {1,2,4,12}, {1,2,6,12}, {1,3,12}, {1,3,6,12}, {1,4,12} and {1,6,12}. 挑战 编写一个接受正整数(n > 1)并输出或返回给定数字的所有不同gozinta链的程序或函数。 链条的顺序很重要(升序),链条的顺序无关紧要。 如果存在这种可能性,您就不能使用内置的解决方案来解决挑战。 这是代码高尔夫球。 编辑:删除1作为潜在的输入。

18
谐音还是不谐音?
给定两个音符名称,您将编写一个程序来确定这两个音符形成的间隔是辅音还是不谐音。 介绍 在西方音乐中,只有12种“不同”的音调。它们的名称(从最低到最高)是:C, C#, D, D#, E, F, F#, G, G#, A, A#, B。该序列是循环的,即,它C在之后B无限地继续。 两个音调之间的距离称为间隔。上一个系列(例如C — C#或E — F)中相邻的两个音符之间的间隔称为半音。距离较远的音符之间的间隔定义为从第一音调到第二音调所需的半音步数(同时可能环绕序列)。一些示例:D to E= 2个半音,C to G= 7个半音,B to D#= 4个半音(这环绕序列)。1个 现在,这些间隔分为两类:辅音(如果同时演奏两个音符,听起来会很悦耳)和不谐音(不是那么多)。 让我们将辅音间隔定义为:0、3、4、5、7、8和9个半音。 它们的其余部分是不和谐的,即:1、2、6、10和11个半音。 挑战 编写一个“程序”(通常在广义上来说:函数完全可以)执行以下操作: 以两个音符名称(上述序列中的字符串)为输入。您可以按照自己的喜好选择它们(从stdin作为参数,用任何想要的分隔,甚至可以随意将它们作为字符列表(例如["C","#"])。但是,您不能为音符分配任何其他名称(尤其是您可能不会将它们从0编号到11,并使用数字)。 对于在那里的音乐极客,音符将不指定八度。在这种情况下,纸币以什么顺序排列,哪个较低和哪个较高也无关紧要。最后,您不需要处理不在上面列表中的任何名称。没有其他类似的谐波E#,没有单位,没有双重变化等等。 选择任意两个不同的值。只要输入中两个音符形成的间隔是辅音,您的程序就必须输出其中一个,否则输出另一个。(如果需要,可以是True和False,但也可以是π和e :) 这是一个代码高尔夫球。每种语言中以字节为单位的最短程序获胜。玩得开心! 示例和测试用例 Note 1 Note 2 Output Interval [semitones] C D Dissonant 2 …
36 code-golf  music 

17
擎天柱以外的素数
挑战 给定一个输入整数n > 0,输出素数的数目(其他比n,如果n能够通过改变n的十进制扩展一个数字来制备本身是素数)(不改变的位数)。 例子 例如,n = 2。通过更改的十进制扩展一位2,我们可以得出三个附加的质数3, 5, 7,因此a(n) = 3。 再举一个例子n = 13。通过更改一位,您可以得到素数11, 17, 19, 23, 43, 53, 73, 83,因此a(13) = 8。 最后一个示例n = 20。通过更改一位,您可以得到素数23, 29,因此a(20) = 2。 序列 这是让您入门的前20个学期。这是OEIS A048853。 4, 3, 3, 4, 3, 4, 3, 4, 4, 4, 7, 4, 8, 4, 4, 4, 7, …

30
混合pi和e做馅饼!
大家都知道pi的数学常数,即圆周长与其直径之比。 3.14159265358979323846264338327950288419716939937510... 你可能也知道Ë数学常数,自然对数的底数。 2.71828182845904523536028747135266249775724709369996... 但是...你知道派吗?(对我而言)这是最重要的常量之一。它是pi和e交错的数字。 32.1741185298216852385485997094352233854366206248373... 作为十进制扩展: 3, 2, 1, 7, 4, 1, 1, 8, 5, 2, 9, 8, 2, 1, 6, 8, 5, 2... 这是OEIS序列A001355。 关键字:nonn,base,dumb,easy 这是一个非常愚蠢的序列。 挑战 编写一个使用非负整数n并输出pie的第n位数字的程序/函数。 技术指标 适用标准I / O规则。 标准的漏洞被禁止。 您的解决方案必须在每个常数中至少包含50位数字,这意味着它应在该序列中至少包含100个术语(请尽量不要对:P进行硬编码)。 2或3的输出不是小数点。 您的解决方案可以是0索引或1索引,但是请指定。 挑战不是要找到所有语言中最短的方法,而是要找到每种语言中最短的方法。 除非另有说明,否则您的代码通常以UTF-8编码形式以字节计分。 允许使用内置函数来计算此序列,但鼓励使用不依赖内置函数的解决方案。 鼓励甚至对“实用”语言进行解释。 测试用例 这些是0索引的。 Input Output 1 2 2 1 …

24
双重时间不是双重时间
基于这一挑战。 在节奏游戏osu中!,难度修改器“两次”实际上只能将速度提高50%。 您的任务是编写一个输出正偶数(大于0)的程序,当源代码中的每个字节/字符(您选择的哪个)重复时,它应输出乘以1.5的数字。 例如,如果您的源代码是ABC,并且输出6,AABBCC则应输出9。 遵循原始挑战的规则: 规则 您必须构建一个完整的程序。 初始源必须至少为1个字节长。 两个整数都必须以10为底(禁止以其他任何底数或以科学计数法输出)。 您的程序不得接受输入(或具有未使用的空输入),并且不得引发任何错误(编译器警告不视为错误)。 允许输出带有尾随/前导空格的整数。 您可能不会在源副本之间使用换行符。 这是代码高尔夫球,因此每种语言中最少的字节都是成功的! 默认漏洞适用。 我想这将比最初的挑战要简单得多,但是希望我们会看到一些创造性和独特的答案!

22
我什至没有……我只是奇怪!
您的任务很简单:编写一个程序,接收一个整数作为输入,如果它是奇数,则将其输出,否则不做任何事情(不允许暂停)。挑战在于,您只能使用奇数字节。 您可以选择在输出末尾附加换行符。 这是代码高尔夫,最短的答案(奇数个字节)获胜。 禁止出现标准漏洞。此外,您不能使用比发布此挑战更新的语言版本。 输入>输出示例: 13 > 13 42 >

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.