编程拼图和代码高尔夫

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

8
拥抱计算
根据Wikipedia页面上数字69的记录,请注意69 2 = 4,761和69 3 = 328,509一起使用所有十进制数字。数字69实际上是满足该属性的最低数字。 出于类似的原因,32,043是卓越的:32,043 2 = 1,026,753,849使用所有十进制数字。 如果我们要继续谈论以这种方式有趣的数字,则需要一些符号。 对于大多数整数ñ,权力ñ 2,...,ñ ķ将使用所有十个十进制数字至少(不包括前导零)一次的足够大的值ķ。如果它存在,我们称之为最低等ķ的卡多(累计十进制数字,最小指数)的ñ。 任务 编写一个接受单个非负整数n作为输入并计算并返回其CUDDLE的程序或函数。 如果n没有CUDDLE,则您可以返回除正整数以外的任何值,包括错误或空字符串,只要最终代码暂停即可。 测试用例 左列输入,右列输出。 0 1 2 15 3 10 4 10 5 11 6 12 7 7 8 5 9 6 10 11 7 12 6 13 6 14 7 15 9 16 …
19 code-golf  math 

5
少许泡菜
Python的pickle模块用于序列化,允许人们以一种可以以后重建的方式转储对象。为此,pickle使用了一种简单的基于堆栈的语言。 为简单起见,我们将处理这种语言的一小部分: ( Push a mark to the stack S'abc'\n Push a string to the stack (here with contents 'abc') l Pop everything up to the last mark, wrapping all but the mark in a list t Pop everything up to the last mark, wrapping all but the mark in …

2
甜甜圈店™
缺乏现金,您已注册为世界上最大的数字甜甜圈公司The Donut Shop™建造甜甜圈,主要是因为它们出售各种可以想象到的甜甜圈。 现在,鉴于当今的交易标准非常严格,您需要编写尽可能短的代码来创建这些甜甜圈,以便将创建它们的源代码放在数据包的外部。 挑战 在给定4个输入的情况下,外圈的半径,内圈的半径,可能的洒落以及单元格出现洒落的机会,输出覆盖在这些洒落中的甜甜圈,该甜甜圈具有正确的内半径和外半径。 输入可以按照您希望的方式(函数的自变量,stdin,程序自变量)以任意顺序获取。 每种类型的洒水将以1个字符的形式给出 ^+*-如洒输入将是4个洒列表,^,+,*,- 洒的可能性将被输入为0和1之间例如浮点值:0.1,0.23 您必须将输出打印到标准输出或等效输出。 洒在甜甜圈的边缘不能。 每种类型的洒水都必须有同等的机会出现在每个单元格上。 半径以1单元为单位给出。 如果内半径等于0或外半径,则表示甜甜圈没有环。 两个半径都是非负整数。 甜甜圈的内边缘和外边缘必须使用哈希(#)表示 给定半径和圆心是一个点是否在圆中的测试: (x-center)**2+(y-center)**2 < radius**2 输入与输出示例 (外半径,内半径,洒水,洒水几率) 10,4,“ ^ + *-”,0.1 ######### # # ## ++ * *## # # # ^^ - * # # ##### ^ # #+ # # # # …

8
发现我们失踪的人
挑战 彼得再次站起来,使我们摆脱了重复的挑战! 彼得·泰勒(Peter Taylor)死了,对此毫无疑问(好吧,除了我们有很大的疑问外,……不过不要理会)。在他的记忆中,您必须编写一个程序来确定给定用户的生命。 更多信息 如果用户不被看到超过一天,则该用户将死亡,或少于一天,则该用户还活着。检查在这里找到的最后看到的部分: 输入将是一个用户ID(例如,我的ID是30525,而Peter Taylor的是194)。假设所有输入都是有效的PPCG ID。 如果用户还活着,则应输出: [User name] is alive! 在您用[User name]代替用户名而不是用户ID的地方。 如果用户已死,则应输出: Sadly, [User name] is dead. 不允许使用SE Data Explorer的 T-SQL参赛者。 获奖 以字节为单位的最短程序获胜。 排行榜 var QUESTION_ID=59763;OVERRIDE_USER=30525;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in …

14
“ Hello world”创建了一个不同的“ Hello world”程序
创建一个程序,该程序输出一个hello world字符串(“ Hello world”,“ Hello,World”等)和源代码。输出被写入标准输出或等效输出。Hello world字符串嵌入在源代码中。 例如,的输出可能是 (some source code here)hello world(some source code here) 再次编译或解释输出时,它应该创建类似的输出,但是hello world字符串必须具有不同的标点符号或大写字母。例如,上一个示例可以创建以下输出 (some source code here)hello, wORld(some source code here) 这些示例中的每个“(此处有一些源代码)”可以在每次执行后更改,也可以相同。 您的输出必须只包含一次有效的hello world字符串。它可能包含任意数量的无效的hello world字符串。源代码可以包含任意数量的注释,并且hello world字符串可以嵌入注释中。第一个程序可以有零个或一个有效的hello world字符串,但不能再有。 以下标点符号有效: hello, world hello world helloworld 任何大写字母都可以接受。例如,以下是有效的hello world字符串: Hello, world hellO WORld HELLoworlD 这些字符串无效: Hello world Hello(newline)world Hello,world Hello, …

13
是时候调整一些价格了!
我确定您知道$ 9.99美元的价格方案,而不是使用$ 10美元。好吧,在您担任大型零售商店的系统管理员的新工作中,他们希望价格遵循类似的方案: 所有价格均为美元,不含美分。 所有价格应以5或9结尾,四舍五入到最接近的值,但如果最后一位在5到9之间,则四舍五入。(适用于最后一位2和7) 最低的输入是$ 1,最低的输出价格应该是$ 5。 您的输入是一个整数列表: 12 8 41 27 144 99 3 并且输出应列出新价格。在上述情况下: 15 9 39 29 145 99 5
19 code-golf  number 

6
+!()[]脚本中的斐波那契
编写一段JavaScript代码,然后alert按顺序调用包含前50个斐波那契数字的数组。您只能使用以下字符:+!()[]。 作为参考,您的代码必须在功能上等于以下内容: var fib = [], a = 1, b = 1; for (var _ = 0; _ < 50; _++) { fib.push(a); var t = a; a = b; b = t + a; } alert(fib); 您可能不会假设网页上有任何内容-您的程序将在上的控制台中运行about:blank。同样,您也不能“欺骗”并将任何设置存储在Cookie,设置或其他数据中。您的解决方案必须可以在任何操作系统上全新安装最新的Google Chrome 或 Firefox时使用。如有疑问,请尽量保持便携性。 以字节为单位的最小源代码获胜。

8
Lisp提取任务
在Lisp样式语言中,列表通常是这样定义的: (list 1 2 3) 出于此挑战的目的,所有列表将仅包含正整数或其他列表。我们还将list在开始时省略关键字,因此列表现在如下所示: (1 2 3) 我们可以使用来获取列表的第一个元素car。例如: (car (1 2 3)) ==> 1 我们可以得到原始列表,其中第一个元素被删除cdr: (cdr (1 2 3)) ==> (2 3) 重要说明:cdr即使该列表只有一个元素,也将始终返回一个列表: (cdr (1 2)) ==> (2) (car (cdr (1 2))) ==> 2 列表也可以在其他列表中: (cdr (1 2 3 (4 5 6))) ==> (2 3 (4 5 6)) …

7
移至可打印的ASCII前端
背景 所述移动至前的变换(MTF)是一种数据编码算法旨在提高熵编码技术的性能。 在bzip2压缩算法中,它是在Burrows-Wheeler变换(如Burrows,Wheeler和Back所示)之后应用的,目的是将重复的字符组转换为小的,易于压缩的非负整数。 定义 为了解决这一挑战,我们将定义MTF的可打印ASCII版本,如下所示: 给定输入字符串s,取空数组r,所有可打印ASCII字符(0x20至0x7E)的字符串d,并对s的每个字符c重复以下操作: 追加的索引Ç在d到ř。 将c移到d的前面,即,从d移走c并将它放在其余的前面。 最后,我们将r的元素作为原始 d中的索引,并获取相应的字符。 分步示例 INPUT: "CODEGOLF" 0. s = "CODEGOLF" d = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [] 1. s = "ODEGOLF" d = "C !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35] 2. s = "DEGOLF" d = "OC !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35 47] 3. s = …

6
碗里装满水
您应该编写一个程序或函数,该程序或函数接收一个碗的容积和其中的水作为输入,然后输出或返回一个带有所需容积的碗的ASCII表示形式。 碗具有以下结构: \ / \___/ 碗至少有一个_字符。的计数\的和/的,也正和他们是平等的对称因。 碗的容积的总数量_和space所述字符之间\的和/的加一,每对\和/。这表示上述碗的容量为10: \ / => xxxxx x (the last one is for the \/ pair) \___/ xxx x (the last one is for the \/ pair) 请注意,两个不同的碗可能具有相同的体积。例如,以下两个碗的容积均为18: \ / \ / \ / \___/ \_______/ 我们可以往碗里倒些水。水被表示为一行~字符,而不是碗中的空格。最下面一行没有空格,因此不能包含~。这意味着我们的示例只能以一种方式充满水: \~~~~~/ \___/ 其他碗可以通过多种方式填充: \~~~~~/ \ / \ / \~~~/ …

26
计算标准偏差
挑战 给定一个数字列表,计算该列表的总体标准差。 使用以下公式计算总体标准偏差: 输入项 输入将以任何格式(列表,字符串等)显示整数列表。一些例子: 56,54,89,87 67,54,86,67 数字将始终是整数。 输入将输入到STDIN或函数参数。 输出量 输出必须是浮点数。 规则 您可以使用内置函数来查找标准偏差。 您的答案可以是完整程序或功能。 例子 10035, 436844, 42463, 44774 => 175656.78441352615 45,67,32,98,11,3 => 32.530327730015607 1,1,1,1,1,1 => 0.0 获奖 以最短的程序或函数为准。 排行榜 显示代码段 var QUESTION_ID=60901,OVERRIDE_USER=30525;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var …

6
上升,顺序,上升
我们有严格增加的非负整数序列,例如: 12 11 10 等待!这个顺序不是严格增加的,是吗?好吧,数字写在不同的基础上。最小的底数是2,最大的底数是10。 任务是猜测每个数字的写法基础,以便: 顺序严格增加, 基数之和最大。 例如,样本的解决方案将是: 6 8 10 因为在这些基数下该序列变为8 9 10十进制-严格增加的序列,并且我们无法找到该序列仍严格增加且其总和大于的基数6+8+10。 由于第二个限制,解决方案3 5 7并不令人满意:尽管该序列5 6 7位于这些碱基的下面-我们需要最大化碱基和3+5+7 < 6+8+10。 如果毫无根据2<=b<=10,该系列可能会严格增加,例如: 102 10000 10 单 0 应该输出。 输入序列可以以最适合您的解决方案的方式传递(标准输入/命令行参数/函数参数...)。


14
辛普森多样性指数
在辛普森指数是重复项的集合的多样性的措施。这只是在随机抽取而未均匀替换的情况下抽取两个不同项目的可能性。 对于相同项目n组中的n_1, ..., n_k项目,两个不同项目的概率为 例如,如果您有3个苹果,2个香蕉和1个胡萝卜,则多样性指数为 D = 1 - (6 + 2 + 0)/30 = 0.7333 或者,不同项目的无序对的数量3*2 + 3*1 + 2*1 = 11总共为15对,并且11/15 = 0.7333。 输入: 一串字符A到Z。或者,此类字符的列表。它的长度至少为2。您可能不认为它是要排序的。 输出: 该字符串中字符的辛普森分集指数,即,随机替换产生的两个字符的概率不同。这是介于0和1之间(含0和1)的数字。 输出浮点数时,请至少显示4位数字,尽管要终止诸如1or 1.0或0.375OK之类的精确输出。 您不能使用专门计算多样性指数或熵测度的内置函数。只要您对测试用例有足够的准确性,则可以进行实际的随机抽样。 测试用例 AAABBC 0.73333 ACBABA 0.73333 WWW 0.0 CODE 1.0 PROGRAMMING 0.94545 排行榜 这是马丁·布特纳(MartinBüttner)提供的按语言排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N …
19 code-golf  math 

19
整数幂
某些数字64可以用多种方式表示为整数幂: 64 ^ 1 8 ^ 2 4 ^ 3 2 ^ 6 [1,2,3,6]以尽可能少的字节输出所有可能的幂(在此为)的排序数组。 输入项 大于1且小于10000的正整数。 输出量 可以将输入表示为的整数幂p(包括1)的数组a^p用整数a。只要顺序正确,输出就可以有小数。 任何浮点问题都必须由程序处理。 例子 Input: 3 Output: [1] Input: 9 Output: [1, 2] Input: 81 Output: [1, 2, 4] Input: 729 Output: [1, 2, 3, 6] 计分板 为了使您的分数出现在黑板上,应该采用以下格式: # Language, Bytes 删除线不会引起问题。 显示代码段 function …
19 code-golf  math  number 

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.