Questions tagged «code-golf»

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

13
扩大比较链
与大多数语言不同,Python a<b<c会像在数学中一样进行评估,实际上是比较三个数字,而不是将布尔值a<b与进行比较c。用C(以及许多其他语言)编写此代码的正确方法是a<b && b<c。 在这个挑战中,您的任务是将这样任意长度的比较链从Python /直观表示扩展到如何用其他语言编写。 技术指标 您的程序必须要处理运算符:==, !=, <, >, <=, >=。 输入将具有仅使用整数的比较链。 不用担心一路比较的真实性,这纯粹是语法/语法上的挑战。 输入将没有任何空格,以防止答案因分割空格而使解析变得琐碎。 但是,您的输出可能只有一个空格,要么仅包含&&,要么包含比较运算符和&&,或者两者都不包含,但是要保持一致。 测试用例 Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && 7!=20 15==15==15==15==15 …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

17
素数分解中的素数
我看到了PPCG 面临的另一个主要挑战,而且我确实爱我一些主要挑战。然后,我误读了介绍性文字,想知道这里的创造力是什么。 事实证明,提出的问题是微不足道的,但我想知道我(误读)的问题是否也是如此: 6可以用2 ^ 1 * 3 ^ 1表示,而50可以用2 ^ 1 * 5 ^ 2表示(其中^表示指数)。 你的任务: 编写程序或函数,以确定此数字表示形式中有多少个不同的质数。 输入: 通过任何常规方法获取的整数n,使得1 <n <10 ^ 12。 输出: 表示 n 的唯一素数所需的不同素数的数量。 测试用例: Input Factorisation Unique primes in factorisation representation 24 2^3*3^1 2 (2, 3) 126 2^1*3^2*7^1 3 (2, 3, 7) 8 2^3 2 …

4
Badugi,谁赢了?
受到这一挑战的启发并与此相关。 背景 Badugi [bæduːɡiː]是低球平局扑克变种。 Pokerstars世界杯在线扑克$ 1K赛事在3小时内开始,我需要知道我的手牌有多好! 该游戏使用52张标准卡组,其中包含四张西服和13张等级。西服是无序的,应加标签cdhs; 从最高K到最低的等级A是KQJT98765432A。因此,整个甲板可以表示如下(以空格分隔): Kc Kd Kh Ks Qc Qd Qh Qs Jc Jd Jh Js Tc Td Th Ts 9c 9d 9h 9s 8c 8d 8h 8s 7c 7d 7h 7s 6c 6d 6h 6s 5c 5d 5h 5s 4c 4d 4h 4s 3c 3d …

7
日期在范围内?
给定MM/DD日期(12/24)和开始/结束日期范围(11/01 - 06/24),请确定日期是否在列出的日期范围内。 日期范围可以是连续的(05/01 - 11/01)或环绕到下一年(11/01 - 05/01)。 例子: 12/24在11/01 - 06/24=真 06/24在11/01 - 06/24=真 06/24在06/24 - 06/24=真 06/24在11/01 - 06/23= False 07/24在11/01 - 06/24= False 07/24在05/01 - 11/01=真 07/24在07/23 - 07/20=真 岁月不老。假定日期和/或日期范围适用于过去或将来的任何一年。 结束日期将始终在开始日期之后。如果结束日期在数值上小于开始日期,则假定我们要绕到下一年。 这三个输入变量可以通过任何方法(args,HTTP,stdin等)以及任何格式(字符串,JSON,数组等)使用。 响应可以是boolean或是/是/否/正确/等字符串的任何形式。最短的代码胜出。 您不能简单地将args传递给内置函数。

30
给定int输入n,输出n * reversed(n)
给定一个整数n,打印输出n * reversed(n) reversed(n)是当您reverse的数字为时得到的数字n。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短的代码胜出! 排行榜 显示代码段 var QUESTION_ID=144816,OVERRIDE_USER=71625;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 …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

14
是增加,减少,还是没有?
就拿两个输入,包含数字的非空矢量/列表1和2和一个字符串(不,你可能不会采取0/1替代)。字符串将是以下内容之一(小写,如下所示): increasing decreasing ones twos all none 如果字符串是____,则应返回索引___: increasing...列表从更改1为的位置2(2紧接在之后的所有内容1) decreasing...列表从更改2为的位置1(1紧接在之后的所有内容2) ones ...的所有数字 1 twos ...的所有数字 2 all ...所有数字 none...没有数字。0如果列表为1索引,则很好。如果列表为0索引,则负数为好。您也可以输出一个空列表或字符串。 测试用例: 这些是1索引的。您可以选择是1索引还是0索引。在测试案例中,相同的向量用于不同的字符串。 -------------------------------- Vector: 1 1 2 2 2 1 2 2 1 1 2 String - Output increasing - 3, 7, 11 decreasing - 6, 9 ones - 1, 2, …

3
两根交织的链
在这个问题中,我将“链”功能定义为: 是一个排列,意味着每个值都映射到一个值,并被一个值恰好映射到该值。 并允许通过重复应用该函数或其反函数从任何其他值获得任何值。 有很多功能可以做到这一点,其中一些功能非常简单(请参阅该问题的答案)。现在,我们将定义一个单独的函数类,称之为“交织”函数。的交织功能是在一组的功能甲,具有两个无限分区一个0和一个1,使得该函数是在两个链功能一个0和一个1。 这意味着,在没有值一个0可映射到一个值一1的功能或反之亦然下。 任务 您的任务是编写一个在正整数上执行或定义交织函数的代码。只要满足交织的条件,您的功能就可以是任何东西。您应该在答案中包含有关为什么要交织功能的说明。 这是一个 代码高尔夫球 问题,因此答案将以字节计分,字节越少越好。

7
高尔夫球场装配线
注意:此挑战与实际的汇编语言无关。 作为Code-Golf Factory Inc.的负责人,您必须创建一条装配线以生成特定的代码段。今天,领班要您制作藜。 规格: 在此挑战中,目标是编写一个包装盒,使其适当的部分也成为包装盒。 这是代码高尔夫球,因此赢得了(主程序的)最少字节。禁止使用标准漏洞,并且主程序和小节都必须是真实的quines。 该小节必须比主程序至少短2个字符,这意味着最小分数为3个字节。 您只需选择一个子部分即可工作。

1
更大,更好(破碎)的拉链
(受此挑战启发很大) 在最初的挑战中,您要制作一个水平拉链,但是,低头看我的连帽衫,我的拉链更加垂直(并且有点破损):P 输入项 系统会为您提供单个字符串(s)和任意格式的一对整数(a和b)。哪里: a < (length-of-s / 2) b <= ((length-of-s / 2) - (a + 1)) / 6 输出和计分 您的程序可以是完整程序,也可以是产生具有正确格式的单个字符串或所选数组(每行一项)的函数。只要输出的字符全部对齐,前导和尾随空格以及换行符是可选的。例如。 ["f r"],["u e"],["l p"],["l p"],["y i"],[" o z "],[" p n "],[" e "] 要么 "f r\nu e\nl p\nl p\ny i\n o z \n p n \n e …

14
二进制二进制扩展
通常,我们通过将数字的2的幂分配给每个项,系数为0或1,将数字分解为二进制数: 25 = 1*16 + 1*8 + 0*4 + 0*2 + 1*1 0and 的选择1...不是很二进制。我们将通过以2的幂进行扩展,但系数为或来执行真正的二进制扩展:1-1 25 = 1*16 + 1*8 + 1*4 - 1*2 - 1*1 现在,这个看起来二进制文件。 给定任何正数,看到以下内容应该是微不足道的: 每个奇数都有无限多个真实的二进制展开 每个偶数都没有真正的二进制扩展 因此,为了使真正的二进制扩展定义良好,我们要求扩展最小,即长度最短。 给定任何正整数n,将返回其真正的二进制扩展,从最高有效数字到最低有效数字(或相反的顺序)。 规则: 因为这是 代码高尔夫球,您应力争以尽可能短的字节数进行此操作。允许内置。 任何可以表示和列出系数的输出都是可接受的:数组,带分隔符的系数字符串等。 适用标准高尔夫漏洞。 您的程序应能在您语言的标准整数大小范围内使用值。 测试用例 25 -> [1,1,1,-1,-1] 47 -> [1,1,-1,1,1,1] 1 -> [1] 3 -> [1,1] …

2
单词链重装
这是“ 播放单词链”和“ 构建长单词链”的一种变体。 输入内容是一个非空的唯一单词列表,该单词由[az]中的字符组成,至少2个字符长。您需要输出可能的最长链的长度,其中每个后续单词均以前一个单词的最后一个字母开头。您可以以列表中的任何单词开头。 另一个错误是允许您重复列表上的任何单个单词。但是,您不能重复任何两个单词的块。例如, cat->tac->cat允许,但cat->tac->cat->tac不允许,因为您重复了两个单词的块(cat->tac)。另外,您不能连续两次使用相同的单词(例如eye->eye)。 例子: cat dog tree egg => 3(猫->树->蛋) new men ten whim => 5(十个->新->异想天开->男人->新) truth fret heart his => 5(fret-> truth-> heart-> truth-> his) we were stew early yew easy => 9(炖->被->早->红豆->被->简单->红豆->我们->简单) tac cat tac cot tac can => 6(tac-> cat-> tac-> cot-> tac-> can) …

3
使用字母使数字更短
挑战 取一个数字并使用字母和数字将其输出为4位或更少。例如; 270,030会变成270K。 键 十亿-> B 百万-> M 千-> K 规则 您可以选择接受包含逗号分隔的输入数字,该逗号以小数点后三位表示(例如123,456,789)。 四舍五入到最接近的一半。 数字只会增加到999,499,999,999。 答案的尾数部分应至少为1。 所有字母都必须为大写字母,并且如上所述。 输出必须为4位或更少的数字。(包括字母,例如B,K和M) 输出必须在数学上尽可能精确。例: 15,480-> 20K 不好 15,480-> 15.5K 好 如果有多个输出具有相同的数学精度,则返回两个。例: 1000-> 1000 好 1000-> 1K 好 例子: 1,234,567-> 1.23M 999,500-> 1M 999,499-> 999K 102-> 102 1000-> 1K 1001-> 1001 100,000-> 100K 12,345,678,912-> 12.3B 1,452,815,612-> 1.45B …
9 code-golf 

3
旧无绳电话
我需要打电话给朋友,但是无绳电话的按钮无法正常工作。我只能按下的按钮是[上],[下]和[通话]。[上]和[下]可用于导航我最近的通话,[电话]可用于呼叫所选名称。我的电话有一个保存N最近通话的列表,我知道我需要通话的所有朋友都在此列表中。 任务: 您会收到一个数字N和一个名称列表L: N 我的手机可以记住的最近通话次数; L 具有我需要呼叫的顺序的名称。 您必须输出我在最近通话清单的最佳安排中需要进行的按键次数。 例: ->输入: 叫安娜,鲍勃,再叫安娜。最近的通话清单大小为5。 5 Anna Bob Anna ->输出: 可能的最佳安排: Anna, Foo, Bar, Foobar, Bob 5 # Key presses: [Call] Anna, [Up] + [Call] Bob, [Down] + [Call] Anna 更多测试用例: Input: 5, Anna, Bob, Carl Output: 5 Input: 5, Anna, Bob, Carl, Anna …

30
输出的pi位数与代码的长度相同
您的挑战是打印xpi的数字,其中x您的代码长度。 例子: Source code (length) -> output foo! (4) 3.141 foobar (6) 3.14159 kinda long (10) 3.141592653 +++++ (5) 3.1415 123456789 (9) 3.14159265 您可以用来确定需要打印的位数。请注意,小数点不算作pi的数字-因此长度为3的代码应具有长度为4的输出。floor(π/10 * 10code_length) / 10code_length - 13.14 规则: 您的代码长度必须大于三个字符。 您不得使用任何标准漏洞。 您可以使用任何标准允许的输出方法。 您可能无法阅读源代码来确定代码长度。 您可能不使用内置pi常量。 Pi必须完全准确且不能近似。 输出中的小数点是必需的。如果选择通过返回值输出,则必须返回浮点整数。 挑战的目标是找到每种语言中最短的解决方案,而不是该解决方案中最短的语言。只要较短的解决方案以相同的语言发布,只要您的解决方案使用不同的方法,不要害怕用一种语言发布解决方案。

4
切换框!
给定一个可能装在框中的字符串,请切换该框。在测试用例和说明中,这一点变得更加清楚。 输入输出 输入格式 输入将是由CR,LF或CRLF分隔的单个字符串,或者是字符串列表。输入格式由您决定。 输出格式 输出格式必须与输入格式相同。 说明+示例 让我们以一个装箱的字符串为例: +-------------+ |Hello, World!| +-------------+ 要切换此框,我们将删除第一行和最后一行以及第一行和最后一列。您可能会假设最后一行之后没有尾随空格(在最后一行的末尾有一个可选的尾随换行符),并且任何一行都没有尾随空格,当然也不算换行符。 这将变成: Hello, World! 另一种方法 如果该字符串不在框中,请在其中添加一个框。这很简单;前置+---...---+自身与线k破折号其中k是最长行的长度,然后对每一行,与后空白匹配最长行的长度,然后前置和追加一个管道字符垫它("|")。最后,添加一行,其中包含与+---...---+第一行相同的设置。 例如: Hello, World! 变成: +-------------+ |Hello, World!| +-------------+ 您可以假定输入中的任何行都不会包含尾随空格。 字符串的另一个示例应带有一个框: Hello, World! 变成 +----------+ |Hello, | | World!| +----------+ 仍应装箱的示例: +--------+ | | --------+ 变成: +----------+ |+--------+| || || | --------+| +----------+ …

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.