Questions tagged «code-golf»

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

27
解析C ++ 14整数文字
根据http://en.cppreference.com/w/cpp/language/integer_literal,整数文字包含一个十进制/十六进制/八进制/二进制文字和一个可选的整数后缀,这显然是完全不必要的,浪费了宝贵的字节,并且在此挑战中未使用。 十进制文字是a non-zero decimal digit (1, 2, 3, 4, 5, 6, 7, 8, 9), followed by zero or more decimal digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)。 八进制文字是the digit zero (0) followed by zero or more octal digits (0, 1, 2, 3, 4, 5, 6, 7)。 …

3
一个正则表达式,用于匹配三个连续整数,前提是第三个整数是前两个整数的和
当且仅当最后一个整数是前两个整数的和时,编写一个正则表达式,该表达式与给定的字符串匹配,该字符串由三个非负号,空格分隔的整数组成。答案可能是小数在2到10之间的任何数字系统的整数。 测试用例 这些应该失败: 0 1 2 10 20 1000 这些应该匹配: 10 20 30 28657 46368 75025 0 0 0 规则 您的答案应该由一个正则表达式组成,没有任何其他代码(可选地,使您的解决方案起作用所需的正则表达式修饰符列表除外)。您不得使用语言的正则表达式风格的功能来允许您以托管语言调用代码(例如Perl的e修饰符)。 请在回答中指定您的正则表达式风格。 这是正则表达式高尔夫,因此以字节为单位的最短正则表达式获胜。如果您的语言需要使用分隔符(通常是/.../)来表示正则表达式,请不要计算分隔符本身。如果您的解决方案需要修饰符,请为每个修饰符添加一个字节。 学分马丁·安德和jaytea的正则表达式,高尔夫规则。 我有理由相信基于Martin Ender的解决方案可以使用regex查找和递增整数。

13
打印披头士乐队的“ Hey Jude”
您的任务是编写一个程序,该程序打印从披头士乐队的歌曲“ Hey Jude”(©Sony / ATV Music Publishing LLC)的歌词中提取的四节经文: Hey Jude, don't make it bad\n Take a sad song and make it better\n Remember to let her into your heart\n Then you can start to make it better\n \n Hey Jude, don't be afraid\n You were made to go out and …

9
收起反串
在此挑战中,将为您提供字母字符串作为输入。我们将给定输入的“反字符串”定义为所有字母都颠倒的字符串。例如 AaBbbUy -> aAbBBuY 您应该编写一个程序,该程序将字符串作为输入,并搜索最长的连续子字符串,该子字符串的反字符串也是连续子字符串。这两个子字符串不应重叠。 例如,如果给您字符串 fAbbAcGfaBBagF 粗体部分将是最长的字符串反字符串对。 一旦找到该对,您的程序应将它们分别折叠成一个字符。它应该通过删除每个子字符串的除第一个字符之外的所有字符来实现。例如上面的字符串 fAbbAcGfaBBagF 会成为 fAcGfagF 然后,您的程序应重复该过程,直到最长的字符串反字符串对为单个字符或更短。 例如,使用相同的字符串,折叠后的新最长对是 fAcGfagF 所以我们再次折叠字符串 fAcGag 现在该字符串无法再折叠,因此我们应将其输出。 如果候选对之间是平局(例如AvaVA),则您可以减少(AaA或AvV,但不能Aa)。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 fAbbAcGfaBBagF -> fAcGag AvaVA -> AaA / AvV QQQQQQQ -> QQQQQQQ fAbbAcQQQQaBBacqqqqA -> fAbcQBcq gaq -> gaq fAbbAcGfaBBagFaBBa -> fcGaBBag 动机 尽管这个问题似乎是任意的,但实际上是我在编写代码以处理基本面时遇到的问题。该过程可以用于将基本多边形减小为较小的n边。我试了一下之后,以为会打一点高尔夫球。

20
这是一个三位数以1结尾的数字吗?
给定一个非负整数,以任何一致的整数为基础,返回是否为以1结尾的三位数。换句话说,该数字需要以N为底,N是大于零的整数。 规则 这是代码高尔夫球,因此最短的答案会获胜。 由于一元的行为很怪异,因此未定义输入3 10的行为。 禁止出现标准漏洞。 例子 真正: 5 73 101 1073 17 22 36 55 99 假: 8 18 23 27 98 90 88 72 68 少数大量: 46656 true 46657 true 46658 true 46659 true 46660 true 46661 false 46662 false 46663 true 46664 false 46665 true 46666 true …

14
两点之间的最短距离是一条线
对程序或函数进行编码,以在屏幕上构造至少400像素x 400像素的交互式画布。画布可以是您想要的任何颜色,有边框或无边框,有或没有标题栏等,仅是某种形式的显而易见的画布。 用户将单击画布的两个不同区域,并且程序必须以某种方式(STDOUT,显示警报等)输出两次单击之间的欧几里得距离(以像素为单位)。两次单击只能是左键单击,只能是右键单击,第一次单击是左键单击,第二次单击是右键,两次双击都以此类推,可以接受任何组合。特别说明:明确不允许单击和拖动(例如,使用MOUSEUP作为第二点);它们必须是两次不同的点击。 用户必须能够多次执行此操作,并且每次都必须获得输出,直到程序关闭/强制退出/被杀死/等等。您可以选择关闭的方法(单击X,Ctrl-C等),无论哪种代码适合您。 规则 完整的程序或功能都是可以接受的。但是,如果是函数,则仍必须以某种方式向用户显示输出(仅返回值是不可接受的)。 输出可以发送到控制台,显示为警报,填充到画布等。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

9
ASCII菱形网格
给定以下参数,编写按字节数测量的最短代码以生成由菱形组成的ASCII网格: m-一行中完整菱形的数量 n-行数 s-最小菱形的一面 r-嵌套级别-“基本的”内部有多少个菱形(在网格的相交点之间喜欢) 例子 1. Input: 5 3 1 0 Output: /\/\/\/\/\ \/\/\/\/\/ /\/\/\/\/\ \/\/\/\/\/ /\/\/\/\/\ \/\/\/\/\/ A 5x3 grid of rhombi with side 1, no nesting 2. Input: 3 2 2 0 Output: /\ /\ /\ / \/ \/ \ \ /\ /\ / \/ \/ \/ …

13
Seqindignot序列
标题由“ Sequence Index Digit Not”组成。 挑战: 给定的整数n,其是>= 0,输出的n“日数以下序列组成。 以下是前50个项目,其上方是(0索引)索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 …

5
鼓泡括号!
这里有几个问题,在这个网站如何去平衡支架,并检查是否括号是平衡的。我建议现在是时候将那些平衡的括号用于某些东西了! 在数学和程序设计中,方括号就像气泡,将内部的所有事物与外部的所有事物隔离开,以便内部的任何事物都可以安心地做它的事情,而外部的任何事物只能看到一个对象。但是,一串括号是一维的,而气泡通常至少是二维的。这意味着只要气泡从不相互接触或在任何其他气泡的内部和外部之间交叉,它们就可以自由地在彼此之间移动。 挑战 输入是一串匹配的单一类型的括号,可以是圆形(),正方形[],卷曲{}或尖角<>。取决于您希望程序接受哪种类型,是否接受仅接受一种括号的程序。(如果您的程序可以处理其中的任何一个,则有虚构的奖励;如果它可以在同一个输入中处理所有的它们,则有虚构的奖励点。)尽管括号中可以包含空格,但输入不能包含任何括号。 输出是那些括号的所有可能的重组(以任意顺序,包括原始输入),产生相同的气泡配置,没有两个相同的字符串。这意味着,输入()()为时()(),即使从技术上讲可以交换位置的两个气泡,其输出也只是。对于巨大的想象中的奖金,{}[]()意志的输入当然会导致输出6个不同的元素/字符串/行。 如果您可以通过在周围移动气泡而不让任何气泡从另一个气泡内部到外部或从外部到内部交叉而使另一个气泡相互“形成”,则两种气泡是“相同的”。如果您将嵌套括号比作树(每个匹配对都是一个节点,并且每个匹配对都是一个子节点,并且每个匹配对中又有一个子节点,依此类推),那么给定节点的子节点是有序的,那么气泡的单个配置就是一棵树,其中的节点是无序的。 任何合理的输出格式都可以,例如返回字符串列表或单个字符列表或带有某种空白的单个字符串列表,或者在两者之间使用stdout或stderr以某种形式的可见空白字符(最常见的是换行符或空格)进行打印每个重组。 每次重组的尾随空格以及在实际输出之前和之后的尾随和换行符/空列表元素的位置。您应该在输出中使用与输入相同的括号。除了此处指定的方括号,换行符和空格以及您使用的任何分隔符,均不应打印任何内容(包括不可见/零宽度字符)。 分数是代码中的字节数。每种语言的最低计数获胜。您可能会注意到您是否获得了想象中的奖励,无论是常规奖励还是巨额奖励,但这都不会影响您的分数。实际的奖金太难平衡了。 输入输出示例 范例1: 输入: ()(()) 输出: ()(()) (())() 范例2: 输入: (()())()() 输出: (()())()() ()(()())() ()()(()()) 范例3: 输入: (()(()))() 输出: ((())())() ()((())()) (()(()))() ()(()(()))

9
感恩节盛宴
明天,11月23日,是美国的感恩节。要准备,您需要准备一些ASCII火鸡。但是,由于计划迟到,您需要一个程序(或功能)来帮助您准备多少只鸟。 .---. _ .' './ ) / _ _/ /\ =(_____) (__/_/== =================== 您发现的火鸡偏小,因此您已经确定了以下比率-一只火鸡会进食: 四个人只喜欢白肉,三个人只喜欢黑肉 或七个不在乎的人 或其组合。 意思是,在任何给定的火鸡中,总共有4份白肉和3份黑肉。此外,您不能购买和烹制部分火鸡。 例如,对于3个仅喜欢白肉的人,6个仅喜欢黑肉的人和3个无关的人,您将需要两只火鸡。这样就可以得到8份白色和6份深色,这足以满足每个人的需求,并剩下一些白肉: .---. _ .---. _ .' './ ) .' './ ) / _ _/ /\ / _ _/ /\ =(_____) (__/_/== =(_____) (__/_/== ===================================== 对于20个无关紧要的人,您将需要三只火鸡,并且剩下一点点白色或深色: .---. _ .---. _ .---. _ .' …

8
解串字符串
给定一个方形字符串,请在展开的每个阶段生成该字符串的所有输出。 字符串必须每次顺时针旋转四分之一圈。 例子 输入: A 输出: A 注意:仅在这有助于减少字节数的情况下,我也将接受此特定测试用例重复的输入。 输入: DC AB 输出: DC AB D ABC ABCD 输入: GFE HID ABC 输出: GFE HID ABC HG IF ABCDE IH ABCDEFG I ABCDEFGH ABCDEFGHI 输入: JIHG KPOF LMNE ABCD 输出: JIHG KPOF LMNE ABCD LKJ MPI NOH ABCDEFG NML OPK ABCDEFGHIJ …

30
模总和
我将此序列称为“耶稣序列”,因为它是mod的总和。</ pun> 对于这个序列,你把所有的正整数中号小于输入ñ,走的总和ñ模每米。换一种说法: an=∑m=1n−1nmodman=∑m=1n−1nmodma_n = \sum_{m=1}^{n-1}{n\bmod m} For example, take the term 14: 14 % 1 = 0 14 % 2 = 0 14 % 3 = 2 14 % 4 = 2 14 % 5 = 4 14 % 6 = 2 14 % 7 = 0 14 % …

20
是陈素吗?
如果数字满足两个条件,则它是Chen质数: 它本身就是素 本身加两个是素数或半素数。 质数是一个数字,其中恰好有两个除数,并且这些除数由自身和一个除数组成。 半素数是两个素数的乘积。(请注意,12 = 2 * 2 * 3不是半素数,而25 = 5 * 5是)。 您的任务是确定数字是否为Chen质数。您应将任何真实值输出为是,将任何虚假值输出为否。 输入将是大于或等于1的任何整数。也可以将其视为字符串,字符数组或数组或数字。 例子: 101 -> truthy 223 -> falsy 233 -> truthy 1 -> falsy 这是OEIS A109611。 这在一定程度上是受苏菲·日耳曼(Sophie Germain)总理的启发吗?不幸的是,它作为重复项目被关闭,所以我要发布一个与之相关的挑战,不是重复项目。

5
虚假统计
如果您要发明一些虚假新闻,则需要构造一些数据以进行备份。您必须已经有了一些先入为主的结论,并且想要一些统计数据来加强错误逻辑的论据。这一挑战将为您提供帮助! 给定三个输入数字: N-数据点数 μ-数据点的平均值 σ-数据点的标准偏差,其中μ和σ表示为: 输出数字的无序列表,𝑥 我,这会产生给定Ñ,μ,和σ。 我对I / O格式不会太挑剔,但是我确实希望μ,σ和输出数据点具有某种十进制形式。至少应支持至少3个有效数字和至少1,000,000的数量级。IEEE浮点数很好。 N始终是整数,其中1≤N≤1,000 μ可以是任何实数 σ始终≥0 数据点可以是任何实数 如果N为1,则σ始终为0。 请注意,大多数输入将具有许多可能的输出。您只需要提供一个有效的输出即可。输出可以是确定性的或不确定性的。 例子 Input (N, μ, σ) -> Possible Output [list] 2, 0.5, 1.5 -> [1, 2] 5, 3, 1.414 -> [1, 2, 3, 4, 5] 3, 5, 2.160 -> [2, 6, 7] 3, 5, 2.160 …


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.