Questions tagged «code-golf»

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

30
输出标志
给定数字N,输出N的符号: 如果N为正,则输出1 如果N为负,则输出-1 如果N为0,则输出0 N将是您选择的语言在可表示的整数范围内的整数。

30
三三三!
编写一个产生输出的程序,使得: 至少出现三个不同的字符。 每个字符的出现次数是3的倍数。 例如,A TEA AT TEE是一个有效的输出由于各4个不同的字符,A,E,T和(space),发生3次。 当然,关于数字3的挑战需要有第三个要求。所以: 该程序本身还必须遵循前两个要求。(这意味着您的程序将至少有9个字节长。) 您必须编写完整的程序,而不是函数。确保在答案中显示程序的输出。 此外,为使事情有趣,我们强烈建议您: 如果可以帮助,不要使用评论来满足要求3 产生的输出不仅仅是重复3次的字符串 使输出与程序本身有所不同(对于可以自动输出其自己程序内容的语言,您可以对此社区Wiki做出贡献)。 这是代码高尔夫球。以字节为单位的最短代码获胜。

24
编写一个自行下载的程序
编写一个连接到该站点的程序,下载其发布的答案,提取其自己的源代码并打印出来。输出必须与源代码相同。最短的代码(以字节为单位)获胜。 规则: 不允许使用URL缩短器。 答案必须具有常规格式-带有语言名称和大小,可选描述,代码块,可选描述和解释的标题。不允许使用非自然的分隔符。 输出必须源自站点上发布的实际代码块。 功能必须不取决于答案列表中的位置。即使有多个页面,它也应该起作用,而答案不在第一页上。 新增内容:有关应在浏览器中运行的答案的特殊说明:可以要求在codegolf域上运行它们(遵守同源策略)是可以的,但是该域和路径应包含在解决方案中,以便公平一点。

30
柯拉兹猜想(OEIS A006577)
这是Collat​​z猜想(OEIS A006577): 以整数n > 1 开头。 重复以下步骤: 如果n为偶数,则将其除以2。 如果n为奇数,则将其乘以3并加1。 事实证明,对于所有最多5 * 2 60或大约5764000000000000000的正整数,n最终将变为1。 您的任务是找出达到1所需的迭代次数(减半或三倍加一)。 相关的xkcd :) 规则: 最短的代码胜出。 如果输入的数字<2,或者非整数或非数字,则输出无关紧要。 测试用例 2 -> 1 16 -> 4 5 -> 5 7 -> 16
66 code-golf  math 

30
是独眼巨人号码吗?“没人知道!
任务: 给定一个整数输入,找出它是否是一个独眼巨人数。 您可能会问,什么是独眼巨人号码?嗯,这是一个数字,其二进制表示0的中间只有一个! 测试用例: Input | Output | Binary | Explanation -------------------------------------- 0 | truthy | 0 | only one zero at "center" 1 | falsy | 1 | contains no zeroes 5 | truthy | 101 | only one zero at center 9 | falsy | 1001 | contains …

14
画the(生物危害标志)
在明显不同的背景上以任意颜色绘制生物危害符号。具体比例已发布在1974年6月27日的美国政府联邦公报上。 细节 作为输出,都允许写入文件(允许光栅和矢量格式)或在屏幕上显示。 您可以只绘制边框或填充的形状。 如果使用光栅图像,则应将一个(或两个)参数作为输入,以调整输出的分辨率(例如,宽度/高度)。 背景必须至少具有符号边框的大小,但可以更大。 输出unicode符号☣是不够的。 下图给出了使用距离的确切比例(该图最初来自此处): 我还尝试制作一个具有相同度量的附加图,希望它更容易阅读: (灵感来自99%invisible的帖子)

30
做一个字母探照灯!
受此挑战的解决方案中的错误启发,您面临的挑战是产生以下确切的文本: ZYXWVUTSRQPONMLKJIHGFEDCBA YXWVUTSRQPONMLKJIHGFEDCBA XWVUTSRQPONMLKJIHGFEDCBA WVUTSRQPONMLKJIHGFEDCBA VUTSRQPONMLKJIHGFEDCBA UTSRQPONMLKJIHGFEDCBA TSRQPONMLKJIHGFEDCBA SRQPONMLKJIHGFEDCBA RQPONMLKJIHGFEDCBA QPONMLKJIHGFEDCBA PONMLKJIHGFEDCBA ONMLKJIHGFEDCBA NMLKJIHGFEDCBA MLKJIHGFEDCBA LKJIHGFEDCBA KJIHGFEDCBA JIHGFEDCBA IHGFEDCBA HGFEDCBA GFEDCBA FEDCBA EDCBA DCBA CBA BA A 第一行将有25个空格,然后字母从第26个字母(ZYXWVUTSRQPONMLKJIHGFEDCBA)开始向后,然后是换行符。 第二行将有24个空格,然后是从第25个字母(YXWVUTSRQPONMLKJIHGFEDCBA)开始向后的字母,然后是一个换行符。 ... 最后(第26行)将没有空格,然后从第一个字母(A)开始向后字母表,然后再换行。 附加规则: 您的程序可以使用任何允许的输出方法。 允许一个尾随换行符和/或一个前导换行符。 包含字母的行之间必须有一个换行符,不能再有换行符。 字母必须全部大写。 与代码高尔夫球一样,最短的提交将获胜。祝好运! 排行榜: 显示代码段 var QUESTION_ID=141725,OVERRIDE_USER=61563;function answersUrl(e){return"https://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"https://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 …

30
对角字母
在没有输入的情况下,您的任务是生成以下内容: a b c d e f g h i j k l m n o p q r s t u v w x y z 在非视觉上,您的任务是生成字母表中的每个字母,其前的空格等于其在字母表中的位置减去一个。 如果进行打印,则它必须如上所示。允许不影响外观的多余空格以及结尾的换行符。您可以全部使用小写字母或全部使用大写字母。 您也可以按照通常的规则从函数返回它,可以是带换行符的字符串,也可以是字符串列表。 这是代码高尔夫球,因此最短答案以字节为单位!

30
这是我的枕头
...你能帮我永生吗? 几年前,我已经有了这个枕头,显然是时候摆脱它了。您能不能编写一个函数或程序,我可以随身携带,并在需要时可以用来重现此枕头。 它必须没有输入参数。 输出应该看起来完全像这样(尾随换行和空格都可以)。 /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// 这是代码高尔夫,所以最短的代码以字节为单位获胜! 排行榜 显示代码段 var QUESTION_ID=98701,OVERRIDE_USER=31516;function answersUrl(e){return"https://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"https://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 …

5
功率编程:O(1 ^ N),O(N ^ 1),O(2 ^ N),O(N ^ 2)合而为一
根据程序的运行方式,编写出表现出四种常见的O大 时间复杂度的程序(或函数)。无论采用哪种形式,都需要一个正整数N,您可以假设它小于2 31。 当程序以其原始形式运行时,它应该具有恒定的复杂性。也就是说,复杂度应为Θ(1)或等效地为Θ(1 ^ N)。 当程序反向运行时,它应该具有线性复杂度。也就是说,复杂度应为Θ(N)或等效地为Θ(N ^ 1)。 (这是有道理的,因为N^1被1^N逆转。) 当程序被加倍,即,级联到本身,并运行它应具有指数复杂性,特别是2 Ñ。也就是说,复杂度应为Θ(2 ^ N)。 (这是有道理的,因为2在2^N是双1中1^N)。 当程序被加倍执行并反转并运行时,它应具有多项式复杂度,尤其是N 2。也就是说,复杂度应为Θ(N ^ 2)。 (这是有道理的,因为N^2被2^N逆转。) 这四种情况是您唯一需要处理的情况。 请注意,为精确起见,我使用大theta(Θ)表示法而不是大O,因为您的程序的运行时必须在上下两方面受所需复杂度的限制。否则,仅在O(1)中编写一个函数就可以满足所有四个点。了解这里的细微差别不是太重要。主要是,如果您的程序针对某个常数k执行k * f(N)运算,则很有可能为Θ(f(N))。 例 如果原始程序是 ABCDE 那么运行它应该花费恒定的时间。也就是说,无论输入N是1还是2147483647(2 31 -1)或两者之间的任何值,它都应在大致相同的时间内终止。 程序的反向版本 EDCBA 应该以N为单位花费线性时间。也就是说,终止所花费的时间应与N大致成比例。因此N = 1花费的时间最少,N = 2147483647花费的时间最多。 该程序的两倍版本 ABCDEABCDE 以N表示,应该花费2到N的时间。也就是说,终止所花费的时间应该大致与2 N成正比。因此,如果N = 1在大约一秒钟内终止,则N = 60将花费比宇宙年龄更长的时间。(不,您不必测试。) 程序的加倍和反转版本 EDCBAEDCBA 应该花费以N为单位的平方时间。也就是说,终止所花费的时间应与N * N大致成比例。因此,如果N …


30
野兔克里希纳野兔克里希纳克里希纳克里希纳野兔野兔
最近,我看到Hare Krishna人的口号上印有咒语,我发现编写高尔夫球代码可能很有趣。 挑战 写下野兔奎师那的口头禅,即: Hare Krishna Hare Krishna Krishna Krishna Hare Hare Hare Rama Hare Rama Rama Rama Hare Hare 获奖标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 规则 外壳必须保留。 文字应包含新行。 线可能有尾随空格。 尾随换行符是允许的。 禁止从Web或任何其他外部资源进行解析。

27
复选框是否未未选中?
在进行代码检查时,我偶然发现了以下代码,该代码测试复选框的状态: if (!isNotUnchecked()) { ... } 我不得不集思广益30分钟,以找出代码期望的实际复选框状态。请给我写一个可以简化这些愚蠢表情的程序! 程序应接受表示要简化的表达式的字符串作为输入(例如:)!isNotUnchecked()。程序应输出逻辑上等效的简化表达式isChecked()或!isChecked()。 输入表达式中的方法名称始终以is,开头为0..n 或Not以Checked()或结尾Unchecked()。该方法可以以多个前缀!。 例子 isChecked() => isChecked() isUnchecked() => !isChecked() isNotChecked() => !isChecked() !isNotChecked() => isChecked() !!!isNotNotUnchecked() => isChecked()
65 code-golf 



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.