Questions tagged «code-golf»

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

2
防辐射软喹
很简单:制作一个适当的藜,如果您删除任何字符,它仍然是藜。 此代码与防辐射的quine之间的区别在于,如果您的程序是AB,A将输出防辐射的quine AB,但在这里A将输出A。 编码高尔夫球,所有标准规则,标准漏洞适用,不作弊。

4
宝贝,你是古罗马作家
日语的罗马化将日语文本转换为拉丁字符。在此挑战中,将为您提供一串日文字符作为输入,并期望将其转换为正确的ASCII字符串。 您需要知道什么 日语有三种书写系统:平假名(弯曲的用于简短单词),片假名(用于从其他语言借来的声音和单词的角形)和汉字(最初来自中文的密集字符)。在这个挑战中,我们将只担心平假名。 平假名音节中有46个字符。每个字符代表一个音节。字符按第一声音(辅音)和第二声音(元音)组织。按顺序排列的列是aiueo。 : あいうえお k: かきくけこ s: さしすせそ t: たちつてと n: なにぬねの h: はひふへほ m: まみむめも y: や ゆ よ r: らりるれろ w: わ を N: ん (如果复制并粘贴此表,请注意,我已使用表意空格U + 3000来分隔y和w) 因此,例如あとめ应该产生的输出atome。第一个是a,第二个是to,第三个是me。 例外情况 像任何一种好的语言一样,日语也有其规则的例外,而平假名表也有几种例外。这些字符的发音与其在表中的位置所暗示的略有不同: し:shi,not si ち:chi,not ti つ:tsu,not tu ふ:fu,nothu 达库ten “ dakuten”一词的意思是“泥泞的印记”:dakuten将声音转换成它们的浊音(通常);例如,かka变成か゛ga。更改的完整列表: k→交通g s→交通z t→交通d h→交通b 例外也会发生变化:し゛:(ji或zhi),不是zi …

30
永远不要告诉我赔率
输入值 甲整数Ñ(≥1)和一个数字d的整数(例如0≤ d ≤9)。 以任何顺序;从标准输入或参数或任何东西; 程序或功能;等等 输出量 从1到整数Ñ包容(按顺序),其十进制表示包含一个偶数的数目d秒。(也就是说,列表中的整数分别是具有偶数d的整数。) 特别是,可以采用任何标准格式等。输出不必用十进制表示。 如果输出为单个字符串,则整数必须以某种方式分隔(空格,逗号,换行符,空字节等)。 例子 in(d,n) ↦ out 1,12 ↦ 2 3 4 5 6 7 8 9 11 0,111 ↦ 1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99,100,111 谢谢 以quintopia为标题。

1
修复Meeesesessessesseesseesseesseseded upp teeexexextext
这是受星期一迷你高尔夫#6:Meeesesessess upp teeexexextext启发的 背景 ETHproductions很难在他通常的网页上输入文本。每当他使用数字或字母时,文本都会被注释掉。您的任务是帮助他键入内容,从而实现正常的行为。 转变 转换影响[0-9A-Za-z]由任何非字母数字字符分隔的字母数字()字符的运行。在下面的示例中,第一行将转换为第二行(其他行显示了转换的细分) An12num: Annn1n12n12nn12nn12nun12nun12numn12num A nn n1 n12 n12nn12n n12nun12nu n12numn12num 特别是,运行中第一个字符之后的任何字母数字字符都将转换为到目前为止的整个运行,除了第一个字符。此外,如果字符是字母(而不是数字),则该字符将变成两次运行。 值得庆幸的是,退格键将删除最后一个字符,并重置运行的开始。 任务 这次您的任务是不执行转换。相反,给定输入字符串,您必须返回编码后的文本,如果转换后将导致输入。输出必须尽可能短,\<char>以单个字符计。 文本编码如下: \ -> \\ backspace character -> \b linefeed -> \n 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 测试用例 每个测试用例都是两行,第一行是输入,第二行是输出。 Heeeeeelp me. It shouldn't be messed up. Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b. alert("Hello, …
38 code-golf  string 

30
里恩数
Champernowne常数是通过串联第一个n数字而n趋于无穷大而构成的数字。看起来像这样: 0.123456789101112131415161718192021222324252627282930... 现在,我将向您介绍里恩号码。可以将Champernowne常数的最小值视为一个整数。我将第一个数字的Rien号码n称为Ri(n)。这是如何制定的: 第一个n自然数(序列{1,2,3,...})是连接在一起的。 然后根据数字值对该结果进行排序。这样1..12会看起来像011111223456789。 由于Rien数不能有前导零,因此我们将所有0s 移到有效的位置,同时使数保持最小,从而得出101111223456789。这是Ri(n),在这种情况下是Ri(12)。 以下是Ri(n)的一些结果: Ñ 日(Ñ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 10001111111111111222222222222223333333334444555555666777888999 42 100001111111111111122222222222222233333333333333444444444455556666777788889999 45 100001111111111111122222222222223333333333333344444444444444555556666777788889999 55 10000011111111111111122222222222222223333333333333333444444444444444444455555555555566666777778888899999 100 100000000000111111111111111112212222222222222222233333333333333333333444444444444444444444555555555555555555555666666666666666666667777777777777777777888888888188888888888899999999999999999999 99910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999 目标假定n输入1≤ <10000(通过自变量,STDIN或硬编码,如果您的语言不支持常规输入),则输出/返回Ri(n)。 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。您可以使用在比赛后制作的语言,但前提是该语言不是用来回答此挑战的。(当然,如果它提供了一种有趣的解决方案,则可以使用它,但是将您的答案标记为不竞争。) 参考实施 我在IE中对此进行了测试,因此实际上应该没有问题。如果有是一个问题,有一个简单的解决方案:让一个理智的浏览器。 function min(n) { var seq = []; for(var i = …

8
我可以分开拼图吗?
编写一个程序或函数,使其接受一个矩形文本网格,其中每个单元格为an A或a B。所有A单元将形成简单连接的形状,即它们将全部正交连接而没有孔(对角相邻的字母不算作已连接)。同样,所有B单元将形成另一个简单连接的形状。网格将始终包含至少一个A和至少一个B。 想象一下,网格实际上是两个块状的薄塑料片,由A和B部分表示。如果将它们平放在桌子上,是否可以将两部分滑开同时将它们完全放在桌子上? 如果可以通过简单地将两个和形状分开来打印或返回真实值。如果不是,请打印或返回伪造的值。AB 例如,输入 AAA ABB AAA 是正确的,因为该BB部分可以向右滑动,将其与分开A: AAA A BB AAA 但是,输入 AAAA ABBA ABAA 是虚假的,因为无法将A和和B部分滑开而又不会重叠。 以字节为单位的最短代码获胜。如果需要,可以使用任意两个可分开打印的ASCII字符代替A和B。 真实示例(用空行分隔) BBB BAA BBB BA A B AB AB AAA BBB AAAAB ABBBB ABBA ABBA AAAA AAAAAABBBBBBBBB AABBBBBBBBBBBBB AAAAAAAAAABBBBB AABBBBBBBBBBBBB AAAAAAAAAAAAAAB AAAAAAAAAAAA ABABABABABAB BBBBBBBBBBBB BAAAAABB BBAAABBB BBBABBBB BBBABBBB BBBABBBB BBBBBBBB …

28
感恩节什么时候?
背景 有些假期有固定的,容易记忆的日期,例如10月31日,12月25日等。但是,有些假期会很麻烦。它们被指定为“ 9月的第一个星期一”或“ 11月的第四个星期四”之类的东西。我应该怎么知道那是什么时候? 我所知道的是感恩节快到了,所以我需要一个程序来帮助我确定感恩节的时间。甚至有人说现在是明天,因此您的程序需要尽可能短,以确保我可以及时重新输入。 挑战 创建一个程序或功能,给定最多四位数的年份(例如2015或1984),该程序或功能输出或返回该年美国感恩节的日期。根据Wikipedia页面,感恩节定义为11月的第四个星期四。(提示:该页面还包含有关日期模式的一些有趣信息。) 输入:十进制数字,最多四位数字,代表共同时代(CE)中的一年。范例:987、1984、2101 输出:该年中感恩节降落的日期(包括月和日),如果存在的话,降落的日期。这可以是任何合理的格式;用你最好的判断。在所有情况下都应使用公历,即使当时未使用它也是如此。 (注意:确保正确处理handle年!) 测试用例 输入1: 2015 输出1: Nov 26 输入2: 1917 输出2: Nov 22 计分 提交内容将以字节计分。我建议您访问该网站,尽管您可以使用任何喜欢的计数器来跟踪您的字节数。 奖金 如果您将BCE日期处理为负数(例如-480将是Thermopylae战斗的年份),则得分的-25%。 负测试用例输入: -480 对应的输出: Nov 25 这是代码高尔夫球,因此最低分获胜! 编辑:我将Thomas Kwa的TI-BASIC提交标记为已接受。不要让这种情况阻止您提交新条目! 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # …
38 code-golf  date 

19
时间敏感的回声
背景 的 echo程序是如此整洁。您可以说任何话,并且每次都能完美地重复您的话!多么酷啊!令人失望的是,无论您的键入速度如何,它都会一次全部重复输入,这不太现实。我们必须解决该问题。 任务 您的程序应从STDIN或最接近的等效项获取其输入。它应一一读取用户的行,可能显示一些提示,直到他们输入空行。此后,它将按照给定的顺序将行打印到STDOUT或最接近的行。最后(空)行不会打印,最后一个打印行不需要尾随换行符。 此外,程序应保留每行之间的时间间隔:如果用户花了x几秒钟进入一行,则它应花费x该程序几秒钟来打印它。这也适用于第一行和最后一行;空行不会被打印,但是程序仍然要等待终止。 例 这是该程序的示例会话。所有不产生文本的操作均在方括号中描述,(可选)提示显示为>。 [begin program] > fhtagn[enter; 1.48s passed since starting program] > yum yum[enter; 3.33s passed since previous enter] > so cool![enter; 2.24s passed since previous enter] > [enter; 0.23s passed since previous enter] [wait 1.48s]fhtagn [wait 3.33s]yum yum [wait 2.24s]so cool! [wait 0.23s, …
38 code-golf 

17
花环化
花环的话 一个花环字是可以像一个花环被串成一个词,因为它与它开头相同的字母结束。这些字母甚至可以重叠! 例如,underground是花环顺序词3,因为它以相同的3个字符开头和结尾und。这意味着它可以像一样串在一起undergroundergrounderground...。 alfalfa也是花环字!它的阶数为4。它的开始和结束是alfa。它可以串在一起,像这样:alfalfalfalfa。 我称其为“ n花环化”的过程是,一旦确定花环词的顺序,就采用原始词并添加使它循环成花环n时间所需的句段。因此,由于onion是顺序2花环词,您需要onion将第一个2字母切掉,ion然后将其添加到结束2时间中onionionion。 目的 制作一个程序或函数,该程序或函数从标准输入或函数自变量中获取输入,并打印出或返回经过加字处理的单词。 所有单词均为小写,单词的最高顺序为length(word) - 1。 示例I / O "onion" --> "onionionion" "jackhammer" --> "jackhammer" "abracadabra" --> "abracadabracadabracadabracadabracadabra" "" --> "" "zvioz" --> "zviozvioz" "alfalfa" --> "alfalfalfalfalfalfa" "aaaa" --> "aaaaaaa" 这是code-golf,因此最少的字节数获胜。
38 code-golf  string 

15
温度转换器
这是一个字节大小的挑战,您必须将三个单位(摄氏,开氏和华氏度)之一的输入温度转换为另外两个单位。 输入值 系统会为您提供温度数字,后跟一个单位(以空格分隔)。温度可以是整数或浮点数(23对23.0或23.678)。 您可以提交一个函数或完整程序,该函数或程序从STDIN / ARGV / function参数或最接近的等效项读取以空格分隔的字符串,然后将输出打印到STDOUT或最接近的等效项。 输出量 您的输出应该是将温度转换为其他两种格式,用换行符分隔,然后在每行后跟相应的单位字符(可选用空格分隔)。两个单元的顺序无关紧要。 输出精度 转换后的数字应精确到至少四位小数而不四舍五入。 只要精确到前4个小数位(不舍入),则尾随零或小数位是可选的。如果实际答案在小数点后有4个零,则还可以跳过4个零和/或小数点。 不应有任何前导零 只要满足上述三个要求,任何数字格式都是可以接受的。 单位代表 温度单位只能是以下之一: C 对于摄氏 K 对于开尔文 F 为华氏度 例子 输入: 23 C 输出: 73.4 F 296.15 K 输入: 86.987 F 输出: 303.6983 K 30.5483 C 输入: 56.99999999 K 输出: -216.1500 C -357.0700 F 这是代码高尔夫球,因此以字节为单位的最短条目将获胜!高尔夫快乐! 排行榜 …

10
小便池协议
背景 已经在多个地方讨论了所谓的“小便池规程”,该规程描述了在男士浴室中抽取单个小便池的顺序。此xkcd博客文章中给出了一个版本。这个问题涉及一个细微的变化: 布置:排成一行的小便池。 规程:每个新人都选择一个与已使用的小便器距离最远的小便器。 注意,这对第一人称小便池没有任何限制。 更新:不同的方式数的序列,其中n个人可以选出n个小便器开始与1,2,4,8,20 ...注意,这不一样OEIS A095236,其中描述了比这个稍微严格限制题。 任务 给定一个介于0到10之间的整数n,输出(以任何顺序)n个人可以占用n个小便池的所有可能的顺序。每种订购应按最终安排打印:代表人的数字序列(前9人为1-9,第十人为0),从最左边的小便池开始,中间有可选的非字母数字分隔符(但不包括在前面)或之后)的数字。例如,以下输出均有效: >> 3 132 213 312 231 >> 4 1|3|4|2 1|4|3|2 3|1|4|2 4|1|3|2 2|3|1|4 2|4|1|3 2|3|4|1 2|4|3|1 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数参数获取输入。结果应打印到STDOUT(或最接近的替代品)。 计分 最短的代码胜出。适用标准条款和条件。

5
这个单词在防呆板上吗?
介绍 经过一天的饮酒和看世界杯之后,您可以坐下来进行友谊赛。脾气暴躁,因为您被指控浪费甚至连板子上都没有的废话!您可能会看到两倍,但可以肯定的是,您正在思考的足够直截了当,可以编写一个程序来验证您的话语是否正确。 你的任务 编写一个程序,脚本或函数,该程序需要一个防呆板和一个单词作为输入,如果单词在板上,则返回True;否则,则返回False。 输入将采用六\n行分隔线的形式。前五行将由5x5防漏板组成,每行包含五个大写字母。第六行还将包含所有大写字母中的疑问词。 输入样例: AJNES TNFTR LSAIL UDNEX EQGMM DAFTER 输出可以是在您选择的编程语言中明确表示True或False并遵循零,null和空表示False的标准约定的任何内容。 以上输入的样本输出: 1 I / O准则 可以从stdin读取输入,然后将输出应答到stdout。 要么 输入可以是函数的单个字符串参数,答案是该函数的返回值。 僵局规则 如果您可以通过板上连续的,相邻的,非重复的图块的路径构造单词,则该单词为“板上”。 一个图块被认为与其周围的八个图块相邻(允许使用对角线路径)。木板边缘的瓷砖仅与五个瓷砖相邻。角落中的瓷砖仅相邻三个。 单词中的连续字母必须相邻,单词中的ith字母必须相邻于i-1th和i+1th。 一个单词中的一个字母可能会出现多次,但是每个单词中您不能在防虫板上使用相同的正方形。 如果您以前从未玩过Boggle,但想了解这些规则,则在线Boggle网站wordsplay.net可能会有用。 与普通的boggle不同: 您不必担心该单词是有效的英语单词。 不会有Qu单个图块。 疑问词的长度可以> 0 例 在董事会 AJNES TNFTR LSAIL UDNEX EQGMM 这些单词应返回True:FATE,DATING,STANDS,LIFTS。 这些单词应返回False:SADDEN,SULTANS,EXIST,SUEDE,QUEST 这是一个代码挑战,所以最短的代码胜出!
38 code-golf  boggle 

14
按黑暗排序字符
您的程序必须将一行字符作为输入,如下所示: @+.0 并输出按其暗淡程度排序的字符,如下所示: .+0@ 要求: 您必须使用等宽字体进行暗度检测。 您必须找出每个字符占用多少像素。实际上,您必须绘制字符并计算像素,即您不能仅对像素数量进行硬编码。 作为更具体的规则:如果您切换了字体,您的程序应该仍然可以运行。此外,您的程序应该能够通过简单地更改代码中的变量,值或字符串来切换字体。 如果使用抗锯齿,则必须将像素计数为全黑像素的百分比。例如,一个rgb(32, 32, 32)像素将算作整个像素的1/8。如果您的角色没有抗锯齿,请忽略此规则。 计算像素后,必须按字符数量对字符进行排序,然后按顺序输出它们。 这是code-golf,因此以字节为单位的最短代码将获胜。
38 code-golf 

11
音乐:这和弦里有什么?
输入值 任何三合会和弦的符号(请参阅http://en.wikipedia.org/wiki/Chord_(music)#Triads)。 输出量 组成给定和弦的音符。 例子 输入:AM 输出:A C# E 输入:C#m 输出:C# E G# 输入:Db+ 输出:C# F A 输入:C0 输出:C D# F# 奖金 -50如果您也可以应付第七和弦 -150用于实际演奏和弦的声音 -150用于使用可打印字符显示如何在钢琴上弹奏和弦;例如AM: ┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐ │ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │ │ │ ││ │ │ …
38 code-golf  music 

24
Rosetta Stone挑战:平均水平是多少?
Rosetta Stone挑战赛的目标是用尽可能多的语言编写解决方案。炫耀您的编程多语言! 挑战 人们使用“平均”一词时,通常指的是算术平均值,即数字的总和除以数字的数量。但是,“均值”一词还有更多含义,包括谐波均值,几何均值,算术均值,二次均值和逆谐波均值。 您的挑战是编写一个程序,该程序输入数字列表并输出这5种不同的方式。此外,您正在尝试使用尽可能多的语言编写程序。您可以使用您的语言具有的任何标准库函数,因为这主要是语言展示。 输入值 输入将是一个正数列表。 1,2,3,4,5 1.7,17.3,3.14,24,2.718,1.618 8.6 3,123456 10.1381,29.8481,14.7754,9.3796,44.3052,22.2936,49.5572,4.5940,39.6013,0.9602 3,4,4,6.2,6.2,6.2 输出量 输出将是上面列出的顺序中的五种均值(谐波,几何,算术,二次,逆谐波)。方便地,这与递增顺序相同。 2.18978,2.6052,3,3.31662,3.66667 3.01183,4.62179,8.41267,12.2341,17.7915 8.6,8.6,8.6,8.6,8.6 5.99985,608.579,61729.5,87296.6,123453. 5.95799,14.3041,22.5453,27.9395,34.6243 4.5551,4.74682,4.93333,5.10425,5.28108 I / O格式将有一定的宽大处理,但我确实希望精度达到几个小数位。由于我要浮点输出,因此可以假定为浮点输入。 客观获胜标准 关于客观的获胜标准,这是:关于谁可以写得最短的参赛作品,每种语言都是一场单独的比赛,但总的获胜者将是赢得这些子比赛中最多的人。这意味着以多种不同寻常的语言回答的人可以获得优势。当一种语言中有多个解决方案时,代码高尔夫球通常是决胜局:程序最短的人会为该语言赢得赞誉。 如果平局,那么获胜者将是排名第二的人(依此类推)。 规则,限制和注释 您的程序可以用2014年9月2日之前存在的任何语言编写。由于我不太可能测试,因此我还必须依靠社区来验证以某些较不常见/深奥的语言编写的答复。他们。 请把您所有的不同意见都包含在一个答案中。 同样,在语言方言中稍有不同的情况下,也没有答案基本相同的恶作剧。我将判断哪些提交内容足够不同。 现任排行榜 本部分将定期更新以显示语言的数量以及每种语言的领先者。 Algoid(337)-Beta衰变 APL(42)-算法 Awk(78)-丹尼斯 BBC BASIC(155)-Beta衰变 C(136)-丹尼斯 C ++(195)-Zeta C#(197)-马丁·布特纳 果酱(43)-丹尼斯 Clojure(324)-迈克尔·复活节 眼镜蛇(132)-乌鲁斯人 CoffeeScript(155)-马丁·布特纳 Commodore BASIC(104)-马克 普通Lisp(183)-DLosc Erlang(401)-马克 …

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.