编程拼图和代码高尔夫

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

30
倒计时100天
通常在活动开始前100天开始倒数计时,这可能是由于我们的10级系统。随处可见此示例: 距离生日100天 距婚礼100天 距离选举还有100天 距毕业仅100天 距她的到期日100天 距足球赛季100天 直到获得狂热者徽章的100天 您得到图片。似乎事件发生前的第100天仅次于实际事件。因此,对于这个挑战,我需要知道100天后的日期,这样我才能确定自己也应该开始倒数。 输入项 无输入 输出量 根据标准公历从当前日期开始的100天(请务必考虑leap年)。输出是灵活的,只要日期格式是人读能力(例如2016-10-8,10-8-16,[ 2016, 10, 8 ],10/8/16 12:00:00 AM)。 获奖 高尔夫代码:以字节为单位的最短代码 例子 从今天(2017年4月5日)起100天是2017年7月14日星期五。 Current Future ------- ------ 01/01/2001 +100 04/11/2001 01/01/2004 +100 04/10/2004 01/01/1900 +100 04/11/1900 01/01/2000 +100 04/10/2000 07/04/2017 +100 10/12/2017 10/31/2017 +100 02/08/2018 12/25/2017 +100 04/04/2018 08/29/1941 +100 …
25 code-golf  date 

18
两条道路分叉成黄色的木头(第2部分)
这是系列中的第二部分,第三部分是两条道路在黄色的树林中分叉(第3部分) 这是基于两条道路在黄色木材中分叉(第1部分),这是我的先前挑战。这是相当受欢迎的,但也很琐碎(一个Java回答52字节!)所以我做了一些更复杂的事情…… 灵感来源 这一挑战的灵感来自罗伯特·弗罗斯特(Robert Frost)的著名诗作《未走的路》: 两条道路在黄色的树林中分叉, 对不起,我无法同时行进 ,成为一个行人,我站了很久,尽我所能地 低头看 向灌木丛中的弯曲处。 ... 2段落已删去... 我将叹息地告诉这个问题,它的 年代久远了: 两条路在树林中分叉,我- 我走过的路少了, 这一切都改变了。 请注意倒数第二行I took the one less traveled by,。您的目标是在字符串输入中找到行驶最少的道路。您必须输出彼此不同的2个值之一,以信号表明您应该转向哪种方式以减少行驶的道路。一旦路岔(六边形的轨迹变为数字),您就在交叉路口。从那里开始,将有2条由数字组成的路径。位数最低的路径将是未走的路。请注意,未走的道路的路径可能较大,但路径总和较低。下面是一些程序的示例/测试用例,这些程序针对未采用的路径打印“左”或“右”: 1 2 1 2 1 2 # # # left (3 < 6) 1 2 2 2 1 1 # # # left (4 < 5) …

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

16
近似布伦常数
布伦常数是其中的倒数之和的值孪生素数对(1/p与1/(p+2)其中p和p+2都是素数)收敛。大约是1.902160583104。 给定一个正整数N,通过将双素数对中的两个素数均小于的双素数对的倒数相加来近似布伦常数N,并输出近似值。 规则 N 将是您的语言可表示范围内的正整数。 在您的语言的浮点实现限制内,输出必须尽可能精确到真实值,而忽略由于浮点算术错误而引起的任何潜在问题。如果您的语言能够执行任意精度算术,则它必须至少与IEEE 754双精度算术一样精确。 或者,可以以任何一致,明确的格式输出精确的分数。 如果一个主要出现在多个孪生素对(例如5,二者的一部分(3, 5)和(5, 7)),其倒数有助于总和各一次。 测试用例 2 -> 0 6 -> 0.5333333333333333 10 -> 0.8761904761904762 13 -> 0.8761904761904762 100 -> 1.3309903657190867 620 -> 1.4999706034568274 100000 -> 1.67279958482774

11
二叉树分形
今天的挑战是像这样的示例一样绘制一幅美丽的ascii艺术的二叉树: /\ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /\ /\ / \ / \ / \ / \ / \ / \ / \ / \ …

20
绘制ASCII风险
涉及使用星号绘制形状的问题很多,因此我认为,由于存在许多星号,我们应该使用ASCII表绘制一个。 挑战 您的任务是编写一个无需输入的程序或函数,并输出以下确切文本: ! "# $% &' () *+ ,- ./ 01 23456789:;<=>?@ABCDEF GHIJKLMNOPQRSTUVWXYZ[ \]^_ `a bc de fg hi jk lm no pq rs tu vw xy z{ |} ~ 作为参考,该站点列出了完整的ASCII表。 规则 输出应该是准确的文本,如上所示。允许前导/尾随空格。 适用标准高尔夫球漏洞-无需从互联网等读取此ASCII风险。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜。

15
字符串上的线性回归
给定一个字符串,这个挑战有些棘手,但相当简单s: meta.codegolf.stackexchange.com 使用字符串中字符的位置作为x坐标,并使用ascii值作为y坐标。对于上述字符串,所得的一组坐标为: 0, 109 1, 101 2, 116 3, 97 4, 46 5, 99 6, 111 7, 100 8, 101 9, 103 10,111 11,108 12,102 13,46 14,115 15,116 16,97 17,99 18,107 19,101 20,120 21,99 22,104 23,97 24,110 25,103 26,101 27,46 28,99 29,111 30,109 接下来,您必须计算使用线性回归获得的集合的斜率和y截距,这是上面绘制的集合: 这导致最佳拟合线为(0索引): y = 0.014516129032258x + …
25 code-golf  string  math 

16
圣诞饼干神秘计算器
礼物已经打开。碎肉被吃掉了。观看了《星球大战》。圣诞节季节即将结束。到目前为止,您可能已经拉了几个圣诞饼干。如果你运气好,而不是通常的无用的塑料玩具,你可能已经赢得了神秘的计算器,使用它可以戏弄你的朋友和亲戚。 这个技巧包括6张卡片,每张卡片上都印有一个4x8的数字网格。每个卡包含整数的不同子集[1,63]。魔术师会要求您从一张卡片中选择一个号码,并将其保密。然后魔术师将询问哪些卡具有该号码。有了这些知识,魔术师将能够神奇地确定和披露猜测的原始数字。 完全按照以下步骤输出全套6张神秘计算器卡: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 - - - - - - - - - - - 2 3 6 7 …


21
转换“ 0xUsernames”
0x用户名 有太多人在使用消息传递服务,以至于他们用光了存储所有用户名的空间!为了解决这个问题,他们将在可能的情况下开始以十六进制存储用户名。 如果用户名仅包含字符0123456789ABCDEF(不区分大小写),则可以将其转换为十六进制并存储为整数。例如,用户名ba5eba11可以解释为0xBA5EBA11十六进制整数。 但是呢05AB1E?那是一个前导零,它将丢失。因此,无论何时转换用户名,都必须1在将其读取为整数之前确保在前面加上a 。 挑战 您的任务是编写一个给定非空用户名作为字符串的程序或函数,以“六压缩”用户名: 如果可以将其解释为十六进制整数,则将1解释为十六进制,然后将结果打印为以10为基数。 否则,只需返回未修改的字符串即可。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜!允许内置的基本转换功能。 测试用例 您可以假设任何所得的整数都在您语言的标准整数范围内。 与大多数邮件系统中的用户名一样,输入字符串将仅包含字母数字和下划线。 请记住,您始终需要1在转换前添加前导! "ba5eba11" -> 7421737489 "05AB1E" -> 17148702 "dec0de" -> 31375582 "Beef" -> 114415 "da7aba5e" -> 7960443486 "500" -> 5376 "DENNIS" -> "DENNIS" "Garth" -> "Garth" "A_B_C" -> "A_B_C" "0x000" -> "0x000" 作为参考,这是我用于测试用例(无溶剂)的Python 3实现: import re def convert_name(name): …

2
下山羊化动物!
我的Downgoat头像有几个独特的功能 但是,这些功能也可以应用于任何其他动物。 规格 给定动物的图像(技术上可以是任何东西),您必须对其应用Downgoat属性。 边框像素是图像的最外面像素。 将背景颜色定义为边界像素最常用的颜色。当该颜色被解释为(r,g,b,a)颜色,并且每个通道都来自[0,256)时,背景被定义为给定像素的每个通道在“背景颜色”。 过程: 将背景和所有透明像素设置为#232323,RGBA(35, 35, 35, 1.00) 设置不属于后台的所有像素#FC0D1B,RGBA(252, 13, 27, 1.00)。 垂直反映图像 -1在图像的中央添加Arial字体的文本。文字的总高度应为图片最小尺寸(即min(width, height) * 0.25)的25%。 规则 随意假设字体已经安装 您的阈值应该是50,但是您也可以将此数字作为输入。您不会因此而减少任何字节数 有关与I / O格式有关的任何问题,请参考我们的映像I / O默认值。 图片尺寸始终至少为3x3 如果没有最常见的“边界像素颜色”,则使用哪种边界像素颜色作为“背景颜色”都没有关系,但是必须保持一致。 例子 输入: 输出: 输入: 输出: 输入: 输出: 输入: 输出: 输入: 输出: 更多例子? 可在此处获得在线实施:vihan.org/p/downgoatify/#50 这是代码高尔夫球,因此以字节为单位的最短代码获胜。祝好运!

2
写回文-Polyglot-Quine
写“palipolyquine”:一个程序,它是一个奎因,一个通晓多种语言,以及回文。 规则: 多语言的语言数量比代码大小更可取。 如果出现平局,则最短的答案(以字节为单位)获胜。 多种语言和Quine规则请参见此处:写一个Polyquine。 我的例子(我有一个带有测试的Freaky-Sources库): C#/ Java(1747字节): /**///\u000A\u002F\u002A using System;//\u002A\u002F class Program{public static void//\u000A\u002F\u002A Main//\u002A\u002Fmain (String[]z){String s="`**?`@#_^using System;?_#^class Program{public static void?@#_^Main?_#main^(String[]z){String s=!$!,t=s;int i;int[]a=new int[]{33,94,38,64,35,95,96,63,36};String[]b=new String[]{!&!!,!&n!,!&&!,!&@!,!&#!,!&_!,!`!,!?!,s};for(i=0;i<9;i++)t=t.?@#_^Replace?_#replace^(!!+(char)a[i],b[i]);t+='*';for(i=872;i>=0;i--)t=t+t?@#_^[i];Console.Write?_#.charAt(i);System.out.printf^(t);}}/",t=s;int i;int[]a=new int[]{33,94,38,64,35,95,96,63,36};String[]b=new String[]{"\"","\n","\\","\\u000A","\\u002F","\\u002A","/","//",s};for(i=0;i<9;i++)t=t.//\u000A\u002F\u002A Replace//\u002A\u002Freplace (""+(char)a[i],b[i]);t+='*';for(i=872;i>=0;i--)t=t+t//\u000A\u002F\u002A [i];Console.Write//\u002A\u002F.charAt(i);System.out.printf (t);}}/*/}};)t( ftnirp.tuo.metsyS;)i(tArahc.F200u\A200u\//etirW.elosnoC;]i[ A200u\F200u\A000u\//t+t=t)--i;0=>i;278=i(rof;'*'=+t;)]i[b,]i[a)rahc(+""( ecalperF200u\A200u\//ecalpeR A200u\F200u\A000u\//.t=t)++i;9<i;0=i(rof;}s,"//","/","A200u\\","F200u\\","A000u\\","\\","n\",""\"{][gnirtS wen=b][gnirtS;}63,36,69,59,53,46,83,49,33{][tni wen=a][tni;i tni;s=t,"/}};)t(^ftnirp.tuo.metsyS;)i(tArahc.#_?etirW.elosnoC;]i[^_#@?t+t=t)--i;0=>i;278=i(rof;'*'=+t;)]i[b,]i[a)rahc(+!!(^ecalper#_?ecalpeR^_#@?.t=t)++i;9<i;0=i(rof;}s,!?!,!`!,!_&!,!#&!,!@&!,!&&!,!n&!,!!&!{][gnirtS wen=b][gnirtS;}63,36,69,59,53,46,83,49,33{][tni wen=a][tni;i tni;s=t,!$!=s gnirtS{)z][gnirtS(^niam#_?niaM^_#@?diov citats cilbup{margorP ssalc^#_?;metsyS gnisu^_#@`?**`"=s gnirtS{)z][gnirtS( niamF200u\A200u\//niaM …

30
大数字:超分解
该问题已重做,请重新阅读。 超析因 超析因数是可以使用以下函数生成的数字序列: a(n) = n! ^ n! 最终值迅速上升。 旁注:这是OEIS中的条目A046882。同样与之相关的是超分解因子,它仍然非常庞大,但是序列较小:A002109 你的任务 您的任务是将这些数字转换为您的语言。你的程序将计算所有ultrafactorials之和从0到包容性 n。 输入项 您的程序可能只接受一个输入:一个数字,类似于要添加到总和中的最后一个a(n)超因子。确保输入为正或0。 输出量 只要某处有可见的数字总和,输出就完全取决于您。 规则 您可以假设所有整数,也就是所有整数输入,并使用整数计数循环产生一些结果。 测试用例 Input: -1 Output: Any kind of error (because -1! is undefined), or no handling at all Input: 0 Output: 1 Input: 1 Output: 2 Input: 2 Output: 6 Input: 3 …

9
赞美Puzles和Colf:压缩字符串
花了一些时间在这个网站上,我开始享受尽可能短的事情。这可能就是为什么我最近被包含多个相同字符的字符串冒犯的原因。您的工作是编写根据以下规则压缩给定字符串的函数或程序: 从0压缩开始,即寻找相同字符的第一对(最左边),中间还有0个其他字符。如果找到了这样的一对,请删除两个字符之一,然后通过执行另一个0压缩来重新启动算法。如果找不到这样的对,请继续下一步。示例: programming-C0-> programing aabbcc-C0-> abbcc test-C0->test 然后执行1压缩,即寻找第一对相同的字符,它们之间还有1个其他字符。如果找到了这样的一对,请删除其中的一个以及它们之间的所有字符,然后以0缩进重新开始。如果找不到这样的对,请继续下一步。示例: abacac-C1-> acac java-C1->ja 继续进行2-缩合,依此类推,直到n缩合,其中n为原始字符串的长度,每次在缩合除去一些字母后重新启动。示例: programing-C2-> praming abcdafg-C3->afg 生成的字符串称为压缩字符串,每个字符串最多包含一次。 输入: 可打印的ascii字符的小写字符串。 输出: 所述冷凝根据上述规则的字符串。 例子: examples -> es programming -> praming puzzles -> puzles codegolf -> colf andromeda -> a abcbaccbabcb -> acb if(x==1):x++ -> if(x+ fnabnfun -> fun abcdefae -> abcde 详细示例以阐明算法的工作原理: fnabnfun …
25 code-golf  string 

30
现在是时候挑战时钟了!
我希望您为我制造一个时钟,以这种格式显示时间: 18 ---------- 19 -------------------------------------------------- 这将显示“ 18:10”。当前小时和下一个小时显示在该行的前面,后跟一个空格和一些破折号:在第一行中,该小时中经过的分钟数,第二行显示了还有多少分钟在这个小时内去。 澄清 时钟应显示系统时间。如果从其他来源获取时间更方便,那也很好。它可能不作为输入提供。 在18:00,最上面的行是18(允许但不要求尾随空格) 在18:59的底线是19 - <10小时可以用0(01 -----)或右对齐( 1 -----)预先填充。即使破折号从正确的位置开始(1 -----无效),也不允许左对齐的一位数字。 时钟应以24h格式显示小时。 尽管它被称为24h格式,但实际上没有24。在第23小时内,第二行以00或开头 0。 显示至少需要每分钟更新一次,但这不必在精确的00几秒钟内进行。如果方便的话,您可以更频繁地/连续地进行更新,但是结果当然仍然必须清晰可辨-屏幕上不会出现任何拖尾现象。 输入项 没有。 输出量 如上所述。两行都允许使用尾随空格将时钟填充到60位置,还允许尾随换行符。 在显示下一分钟时,需要清除屏幕:使用清除屏幕命令或添加不少于30个换行符。 附加规则 禁止出现标准漏洞 代码高尔夫,最短答案(以字节为单位)获胜。

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.