Questions tagged «code-golf»

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

22
输出第n个响铃号码
甲贝尔数(OEIS A000110)是方式来划分一组n个标记的(不同)的元素数。第0个响铃编号定义为1。 让我们看一些示例(我使用方括号表示分区的子集和大括号): 1: {1} 2: {[1,2]}, {[1],[2]} 3: {[1,2,3]}, {[1,2],[3]}, {[1,3],[2]}, {[2,3],[1]}, {[1],[2],[3]} 有多种计算贝尔编号的方法,您可以自由使用其中任何一种。这里将描述一种方法: 计算贝尔数的最简单方法是对二项式系数使用类似于Pascal三角形的数字三角形。钟形数字出现在三角形的边缘。从1开始,通过将上一行的最后一个条目作为第一个条目,然后将每个新条目设置为其左邻居加上左上邻居,来构造三角形中的每个新行: 1 1 2 2 3 5 5 7 10 15 15 20 27 37 52 您可以使用0索引或1索引。如果使用0索引,则输入3应该为输出5,但是2如果使用1索引,则应该输出。 您的程序必须输出15号铃号1382958545。从理论上讲,您的程序应该能够处理更大的数字(换句话说,不要对解决方案进行硬编码)。 编辑:您不需要处理输入0(对于0索引)或1(对于1索引),因为它不是由三角方法计算的。 测试用例(假设索引为0): 0 -> 1 (OPTIONAL) 1 -> 1 2 -> 2 3 -> 5 4 -> …
13 code-golf  math 

4
平方根数
任务如下:给定一个正整数x和一个素数n > x,输出最小的正整数y,使(y * y) mod n = x。这个问题的重要部分是下面指定的时限,其中不包括强力解决方案。 如果没有这样的值,y则应输出您的代码N。 测试用例 (2, 5, N), (3, 5, N), (4, 5, 2), (524291, 1048583, N), (529533, 1048583, N), (534775, 1048583, 436853), (540017, 1048583, 73675), (536870913, 1073741827, 375394238), (542239622, 1073741827, 267746399), (547608331, 1073741827, N), (552977040, 1073741827, 104595351), (1099511627676, 1099511627791, N), (1099511627677, 1099511627791, 269691261521), …

18
重复连续数字产品总和收敛
给定一个正整数n(例如:n=1234444999) 分成连续数字运行: [1, 2, 3, 4444, 999] 以每次运行的数字产品为例。 [1, 2, 3, 4*4*4*4, 9*9*9] = [1, 2, 3, 256, 729] 总结一下... 991 重复直到其收敛为一个数: 1234444999 991 82 10 1个 返回最后一个号码。 测试用例 BASE CASES: 0 = 0 ... 9 = 9 OTHER CASES: 1234444999 = 1 222222222222222 = 8 111222333444555666777888999000 = 9 11122233344455566677788899 …

3
引用我的报价!
甲报价是“一种表达的重复作为另一个的一部分”。在美式英语中,引号与双引号(“)一样,如上一句话。但是,当引号出现在另一个引号内时,此规则有所不同。在这种情况下,内部引号由单引号引起来(')。 挑战 给定一个字符串作为输入,请通过交换用于内部引号的双引号和单引号来输出该字符串的引用版本。 不过,只有一个问题-并非所有的单引号都用于引号!对于此挑战,当且仅当以下情况下,才使用单引号引起来: 标记之前是非字母数字字符,或者 标记后跟非字母数字字符,没有空格 报价中使用的标记必须保证平衡;也就是说,您不需要处理无效的输入。此外,双引号将仅在单引号可用于表示引号的情况下使用。 测试用例 A man, a plan, a canal, Panama. "A man, a plan, a canal, Panama." Socrates once said, "An unexamined life is not worth living." "Socrates once said, 'An unexamined life is not worth living.'" @musicman523 said, "Socrates once said, 'An unexamined life …

10
我是二手出租车吗?
背景 Ramanujan的电话号码(1729)被称为出租车出租车号码,这是因为(很可能是伪造的)Hardy登上出租车去医院看Ramanujan的传说,这个电话号码对他来说似乎很平淡。 从那以后,它被称为“计程车编号”一类整数中最著名的,它可以以两种(有时是“ k”)不同的方式表示为(正整数的)n个n次幂之和。 1729是可通过2种不同方式表示为2个立方的总和的最小自然数,使其成为第一个“ 3,2”出租车分类号(一般为“ n,k”)。 挑战 给定一个数字,请确定它是否为“ 3,2”“二级出租车编号”-表示它满足与1729(2个唯一的多维数据集)相同的约束,但不必是“ 3”的最小整数,2“类(当然是1729)。 示例案例: 1729 = 10 ^ 3 + 9 ^ 3 = 12 ^ 3 + 1 ^ 3 4104 = 15 ^ 3 + 9 ^ 3 = 16 ^ 3 + 2 ^ 3 13832 = 2 ^ …

16
这个网站是关闭了还是仅我一个?
挑战 挑战很简单,使用http://isup.me来确定输入的网站是打开还是关闭。 如果站点已启动,则应返回真实值;如果站点已关闭,则应返回假值。 规则 输入将是网址,例如stackexchange.com或google.co.uk。输入将永远不会有http://,https://等字符串的开始,但可能有www.或codegolf.在启动等。 您应该使用isup.me/URL输入URL 的站点。 站点启动后,它将看起来像: http://isup.me/codegolf.stackexchange.com 如果站点关闭,它将看起来像: http://isup.me/does.not.exist 除isup.me之外,不允许使用URL缩短器。 输入示例 可能上升(取决于当前情况): google.de codegolf.stackexchange.com worldbuilding.meta.stackexchange.com tio.run store.nascar.com isup.me 将下降: made.up.com fake.com.us why.why.why.delilah store.antarcticrhubarbassociation.an 获奖 以字节为单位的最短代码获胜。

8
找到所有的字谜和子字谜!
这个问题很大程度上是基于这个问题,但是应该带来许多其他困难。 你的任务 您必须编写一个程序或函数,该程序或函数在接收到字符串时会打印出所有可能的字谜。出于这个问题的目的,一个字谜是一个字符串,它包含与原始字符串相同的字符,但不是原始字符串。子字谜是输入字符串的子字符串的字谜。字谜和子字谜不一定是或包含实际单词。 输入值 您可以通过任何标准输入法接受长度大于0的字符串。它可以包含任何ASCII字符。 输出量 您可以以任何标准方式输出输入字符串的所有可能的字谜和子字谜。您不得输出相同的字符串两次,也不能输出与输入相等的字符串。 其他规定 不允许使用标准漏洞 计分 这是代码高尔夫球,最少字节获胜。

3
读取密码:在手机上!
由于MD XF最近面临的挑战,我们现在可以读取许多不同语言的密码!问题是,现在我们需要将我们的应用程序移植到移动设备,并且它们的密码输入有所不同。 挑战 从键盘上读取一个字符串。 每次k输入一个字符时,都要短时间显示。 时间间隔过去之后,或者用户输入了另一个字符,请替换k为c。 规则 c必须恒定;它必须是相同的字符。 c 可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。 c不能基于任何输入k; c必须在k读取第一个之前定义/常量。 c 每次运行程序时都必须相同。 ck只要遵守所有其他规则,它就可以是偶然给出的值之一。 您必须k实时打印。用户输入新内容后k,您必须立即显示它。 k更改为最终用户之前应该对最终用户可见c;时间间隔不得少于0.5秒。 k应c在合理时间内更换;时间间隔不得超过5秒。 输入新字符后,无论时间间隔是否到期,都应替换k为c并k立即使用输入的密钥作为新字符。 每次需要更改字符时都可以清除并重画屏幕。 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。 您可以假设输入的字符数永远不会超过终端/图形窗口的宽度。 如果使用终端,则应在输入换行符或到达EOF后终止程序。 您的程序应在移动和其他环境中均按此处概述的功能运行。 您的程序可能会假设输入将仅包含可打印字符(字母,数字,符号),并且可能包含终止换行符(无退格键,箭头键,删除键等)。 当按Ctrl + C时,您的程序可能会终止。 如果程序启动了一个窗口,则可以通过关闭窗口来终止程序。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜! 例 这是一个外观示例。请注意,这是记录在移动平台上的,但也应在桌面平台上工作。
13 code-golf  string 

4
评估模块化电力塔
给定两个数字n和m,请评估无限大功率塔: n ^(n + 1)^(n + 2)^(n + 3)^(n + 4)^ ... mod m 请记住,^是右关联的。因此2 ^ 3 ^ 4 = 2 ^(3 ^ 4)。现在,您如何可能将一个值分配给无数个右联想运算符? 将f(n,m,i)定义为包含无限功率塔的前i个项的功率塔。然后有一个常数C,使得对于每个i> C,f(n,m,i)= f(n,m,C)。因此,您可以说无限大功率塔收敛于某个值。我们对此价值感兴趣。 您的程序必须能够在合理的现代PC上在不到10秒的时间内计算出n = 2017,m = 10 ^ 10。也就是说,您应该实现一个实际的算法,不要强行使用。 您可以假设您的编程语言中的数值限制为n <2 30和m <2 50,但是理论上您的算法必须适用于任何大小n,m。但是,对于这些大小限制内的输入,您的程序必须正确,如果输入在这些限制内,则不会原谅中间值溢出。 例子: 2, 10^15 566088170340352 4, 3^20 4 32, 524287 16

1
Github Messenger
目标:该目标采用字符串并输出在哪一天应该显示多少信息才能显示消息。 规格 输入值 支持字母加空格(即[A-Za-z ]) 空格是空白 3X7 字母在下面提供的5x7 DOT矩阵字体中定义 每个字母的大小是最小外接矩形(例如l = 3x7,e = 5x5) 染色 有5种颜色 C0, C1, C2, C3, C4 CX需要Y与3X <= y < 3(X+1) 字母应在C1和之间交替C2 空间没有颜色 每个字母的大小应与相邻字母精确重叠一列 如果单元格的颜色超过一种,则使用 C3 点矩阵 点矩阵是Github的贡献历史记录图 如果今天是2017年5月1日,星期一: 4-30 5-07 5-15 [5-01] 5-08 5-16 5-02 5-09 . 5-03 5-10 . 5-04 5-12 . 5-05 …
13 code-golf  date 

7
旧的C代码转化器*
*什么是透湿剂? 在C编程语言中,存在称为二字和三字的形式,这是两个和三个字符序列,其结果为较不常见的字符。例如,??-如果您的键盘没有,则可以使用~。 给定文本,用正确的,较短的,打高尔夫球的角色(右侧)替换以下有向图和三联图的所有实例(左侧)。 ??= # ??/ \ ??' ^ ??( [ ??) ] ??! | ??< { ??> } ??- ~ <: [ :> ] <% { %> } %: # 资源 输入值 输入为ASCII文本。允许尾随换行符。不需要是有效的C代码。 输出量 输出是相同的文本,上面的二字和三字图的所有实例都被缩短的版本替换,从左到右评估。允许尾随换行符。不需要是有效的C代码。 测试用例 => 分离输入和输出。 if (true ??!??! false) { => if (true || false) { …
13 code-golf  string 

2
放大地图
您的任务是,在输入地图的情况下,根据比例将其缩小或放大。请注意,给出的规模是规模由放大了,所以0和1之间的规模将实际进行放大。 例如,给出以下(效果不佳)的地图: ..____.... ../OOO\... ..\OO/\... .......... 比例因子为2,您应该首先将其分成2x2的部分: .. | __ | __ | .. | .. .. | /O | OO | \. | .. ---------------------- .. | \O | O/ | \. | .. .. | .. | .. | .. | .. 在每个部分中找到最常见的字符: .__.. ..... 请注意,其中有一个不明确的部分: __ OO …
13 code-golf  string 

25
谐波序列的部分和!
定义 在数学中,调和序列是指其中 即序列的第n 个项等于n的倒数。 介绍 在这个挑战中,给定正整数n作为输入,输出谐波序列的前n个项的部分和。 输入值 系统会为您提供一个正整数(在您的语言支持的数字范围内)。它可以是有符号的和无符号的(取决于您),因为质询仅需要正整数。 您可以以任何方式接受输入,除非假定输入存在于预定义变量中。prompt()允许从文件,终端,模态窗口(在JavaScript中)等进行读取。也可以将输入作为函数参数。 输出量 您的程序应以5个有效数字的精度输出谐波序列的前n个项的总和作为浮点数(如果输出被1整除,则为整数),其中n表示输入。为了用数学术语传达相同的内容,您需要计算 其中n表示输入。 除了将输出写入变量之外,您可以通过任何方式输出。alert()允许写入屏幕,终端,文件,模式窗口(在JavaScript中)等。return也允许输出为函数值。 附加规则 输入数字可以是0索引或1索引。您必须在帖子中指定。 您不得使用内置函数来计算前n个元素的部分和。(是的,这是给您Mathematica的!) 您不得滥用本机数字类型来解决问题。 适用标准漏洞。 测试用例 测试用例假定输入为1索引 Input Output 1 1 2 1.5 3 1.8333 4 2.0833 5 2.2833 获胜标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

13
实施斐波那契喹
甲奎因是一个程序运行时,其输出其来源。 在这个挑战中,您应该制作一个斐波那契奎因(Fibonacci-quine),奎因的一种变体。 什么是斐波那契喹? Fibonacci-quine是一个程序,它通过以下规则输出对源的修改: 初始来源应为...2...。换句话说,来源应包含2。(为什么2?如果是1,没人会知道它是第一个还是第二个,甚至程序本身) 运行时,您应该输出源,但是只有特定数字(在此阶段为2)更改为斐波那契数列的下一个数字。例如,...3...。输出和输出等也一样。您最多可以支持2 ^ 32-1的整数。对于超出该限制的整数,可以选择下一个输出。 OP的笔记 我真的很想看到一个有创意的解决方案。我想不出一个单一的解决方案,因为挑战的两个重要方面,斐波那契和奎因,都不容易。那我等一下!

30
指定索引处的字符串元素
给定一个字符串s和一个n小于其长度的非负数s,请在的n第-个位置输出字符s。 允许0索引和1索引。对于1分度,n将为正且小于或等于的长度s。 s 将仅包含可打印字符。 允许任何合理的输入/输出。有标准漏洞。 测试用例(0索引): n s output 0 "abcde" a 1 "abcde" b 2 "a != b" ! 3 "+-*/" / 4 "314159" 5 测试用例(1-索引): n s output 1 "abcde" a 2 "abcde" b 3 "a != b" ! 4 "+-*/" / 5 "314159" 5 这是代码高尔夫球,因此最短答案以字节为单位。
13 code-golf  string 

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.