Questions tagged «code-golf»

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

6
Recamán的重复项
Recamán的顺序定义如下: 一种ñ= ⎧⎩⎨0如果n = 0一种n − 1− n如果 一个n − 1− n > 0 并且尚未在序列中,一种n − 1+ n除此以外一种ñ={0如果n = 0一种ñ-1个-ñ如果 一种ñ-1个-ñ>0 并且尚未在序列中一种ñ-1个+ñ除此以外a_n=\begin{cases}0\quad\quad\quad\quad\text{if n = 0}\\a_{n-1}-n\quad\text{if }a_{n-1}-n>0\text{ and is not already in the sequence,}\\a_{n-1}+n\quad\text{otherwise}\end{cases} 或使用伪代码: a(0) = 0, if (a(n - 1) - n) > 0 and it is not already …

5
这些天来变得越来越难
给定一个非空列表大号整数大于的1,我们定义d(L)为最小的正整数,使得N + d(L)是复合每个Ñ在大号。 我们定义的顺序一个Ñ为: 一个0 = 2 a i + 1是大于a i的最小整数,使得d(a 0,...,a i,a i + 1)> d(a 0,...,a i) 你的任务 您可以: 取整数N并返回序列的第N个项(0索引或1索引) 取整数N并返回序列的前N个项 不输入任何内容并永久打印序列 这是代码高尔夫球,因此最短答案以字节为单位! 如果您的代码随着N的增大而变慢,那是可以的,但是它至少应该在2分钟内找到20个第一项。 第一学期 a 0 = 2和d(2)= 2(我们需要加2以便2 + 2是合成的) a 1 = 3,因为d(2,3)= 6(我们需要加6以便2 + 6和3 + 6合成) a 2 = 5,因为d(2,3,5)= 7(我们需要加7以便2 + …

19
字符串中数字的加减法
以一个字符串作为输入,并对字符串中的所有数字进行加/减,并输出这些运算的总和作为结果。 规则 字符串中的数字从左到右读取 如果数字(n)为奇数,请与下一个数字(n + n1)进行加法运算 如果数字(n)为偶数,则用下一个数字(n-n1)进行减法。 如果到达字符串的最后一位,请使用字符串的第一位执行操作 输出将是所有结果值的总和 如果字符串中只有一位数字,请自己执行操作(n + n或nn) 如果字符串中没有数字,则输出为0 例 Input: r5e6o9mm!/3708dvc Process: (5+6) + (6-9) + (9+3) + (3+7) + (7+0) + (0-8) + (8-5) Output: 32 笔记 接受功能或完整程序 最大输入长度将取决于您的语言对字符串输入的限制 字符输入无限制,但只有半角数字计入输出 最少的字节数获胜
14 code-golf  string 

9
编号积极理性
通过以下过程可以证明正有理数是可数的: 零序数0 将其他数字排列在网格中,以便a行,b列包含a / b 从右上到左下绘制对角之字形 保持锯齿形遇到的唯一数字的连续统计 这是锯齿形的图片: 因此,遇到的数字是按顺序 1/1, 2/1, 1/2, 1/3, 2/2, 3/1, 4/1, 3/2, 2/3, 1/4, 1/5, 2/4, 3/3, 4/2, 5/1, 6/1, 5/2, 4/3, 3/4, 2/5, 1/6, 1/7, 2/6, 3/5, 4/4, 5/3 ... 遇到的简化的唯一数字是 1, 2, 1/2, 1/3, 3, 4, 3/2, 2/3, 1/4, 1/5, 5, 6, 5/2, …

10
解码Kaadi系统
您遇到过一本古老的印度手稿,其中描述了成堆的埋藏宝藏。手稿还告诉您宝藏的位置,除了一些关键数字已间接编码到文本中。您会发现文本使用的是“ Kaadi”系统,这是更常见的“ Katapayadi”系统的受限子集。 (Katapayadi系统是一种古老的印度系统,将数字编码为字母,通常用作记忆长数字的助记符。) 您的任务是解码在Kaadi系统中编码的文本并打印出数值。 细节 输入字符 Kaadi系统基于Katapayadi系统的规则,但仅使用第一行辅音。您在此处的文字已音译为拉丁字母,并且仅包含: 元音“ a”,“ e”,“ i”,“ o”,“ u” 辅音'g','k','c','j'以及它们的大写形式(代表这些辅音的吸引形式)以及'ṅ'和'ñ'。 (如果用您的语言更方便,则可以选择将'ṅ'接收为'ng',将'ñ'接收为'ny'。) 价值分配 在这个系统中 每个辅音后跟一个元音都有一个与之关联的数字。这些是: 'k'=>1, 'K'=>2, 'g'=>3, 'G'=>4, 'ṅ'=>5, 'c'=>6, 'C'=>7, 'j'=>8, 'J'=>9, 'ñ'=>0 但是请注意,这些值仅在这些辅音后跟有元音时才适用。 kacCi具有与kaCi(ka,Ci=(1,7))相同的值,因为中间的c不带元音。 此外,两个元音的初始元音或序列代表0 aikaCi将是:ai,ka,Ci=(0,1,7) 文本中间其他任何地方的多余元音都没有值:kauCia与相同kaCi,多余元音可以忽略。 最终数值 一旦找出字母的数字值,就获得最终数字值,其顺序与这些数字相反,即文本中的第一个数字是最终值中的最低有效数字。 例如。 GucCi具有Guand Ci,所以( kakakaGo4,7),所以最终值为74. 是(1,1,1,4),所以答案是4111. guṅKo是(3,2),所以编码为23(gungKo如果使用ASCII -当量。) 输入值 包含Kaadi编码文本的字符串 将仅包含元音和上述辅音 元音总是小写,并且以不超过2个的组出现 您可以选择接受5和0的字母作为Unicode字符“ṅ”和“ñ”,或者接受与ASCII等价的“ ng”和“ ny”(它们均以小写形式表示) …

3
有山环吗?
挑战 给定一个正整数矩阵,请确定山是否存在“环”。对此挑战的正式定义是:给定一个正整数矩阵,是否存在任何正整数,矩阵中n存在一个闭环,该闭环严格大于n以使环中包含的所有单元均小于或等于到n。 让我们举一个真实的例子: 3 4 5 3 3 1 2 3 4 2 1 3 4 3 6 5 如果我们设置n为2: 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 我们可以清楚地看到,1沿边缘的s形成一个环。 我们将环定义为单元的有序集合,其中集合中的相邻单元在网格上也相邻(边或角)。此外,该环内部必须至少包含1个单元;也就是说,尝试仅边沿BFS填充整个矩阵(不包括集合中的单元),并且从不遍历集合中的一个单元,则必须至少丢失一个单元。 真实的测试案例 4 7 6 5 8 -> 1 1 1 1 1 …

14
藏宝图绘图机器人
您正在为朋友组织寻宝活动。为了更轻松地进行操作,您想要绘制隐藏贵重物品的所有位置的地图。 输入值 0 0允许使用任何形式的输入来表示由(负)x和y坐标组成的点列表,即左上角(注意:您也可以在答案中使用基于1的索引,请对此进行评论)。例: 1 2 3 0 0 1 挑战 您的函数或程序应该能够构造一个映射,该映射表示每个给定位置,x并在输出的y + 1行和x + 1列中找到标记。未标记的位置以表示。该地图还包含一个框架,其中的角为+s,垂直线为|s,水平线为-s。您的解决方案应该输出最小的帧。上面给出的输入示例的映射: +----+ | x| |x | | x | +----+ 可能的测试案例 "0 0" => +-+ |x| +-+ "0 10 5 5 10 0" => +-----------+ | x| | | | | | | | | …

30
字母数字领结
输出此确切的文本: 1 i 12 hi 123 ghi 1234 fghi 12345 efghi 123456 defghi 1234567 cdefghi 12345678 bcdefghi 123456789abcdefghi 12345678 bcdefghi 1234567 cdefghi 123456 defghi 12345 efghi 1234 fghi 123 ghi 12 hi 1 i 单个尾随的换行符是可以接受的,但不允许其他格式更改。 规则和I / O 无输入 输出可以通过任何方便的方法给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

24
分割并大写
挑战: 给定字符串在特定位置处分开,并大写给定单词的第一个字符。当且仅当第一个单词的大写字母已经被大写时,才将其大写 输入: 字符串s和字符c。 : 每次出现的字符串都c被替换为首个大写的char 例子 : STRING(s) CHARACTER(c) RESULT Hello_world _ HelloWorld me,no,like , meNoLike you-got-it - youGotIt Am^I^clear ^ AmIClear go!full!caps ! goFullCaps weird&but&tRue & weirdButTRue ProbleM1fixed1no 1 ProbleMFixedNo !prob!!lem!s!Olved!! ! ProbLemSOlved 注意 : 给定的输入将始终有效。ie:第一个将始终是一个字符串,至少包含一个要替换的字符实例。第二个将始终是单个字符。 输入字符串的长度将大于4。 至少有一次出现该字符的情况。 确保输入仅包含字母和分隔符(感谢@Arnauld) 分隔符是不是字母(az / AZ)的任何东西(@Dennis建议) 获奖标准: 这是代码高尔夫球,因此每种语言的最短代码(以字节为单位)获胜。 感谢@JonathanAllan指出了两个错误。
14 code-golf  string 

10
周边环圈包围的区域
给定其周长环为90度转弯的序列,找到单位晶胞区域的面积。 例如,以三格区域为例 XX X 我们画出谁的周长环 L<S<L v ^ S R>L v ^ L>L 每转标记为左(L),直(S)或右(R)。从R开始,转弯为RLLSLSLL。因此,给定输入RLLSLSLL,我们应该为该区域输出3。 确保输入序列能找出一个循环,该循环将左侧的单个区域包围起来。 路径在起点处开始,面向初始方向,形成一个循环。 循环不会交叉或接触自身。 循环围绕一个区域逆时针旋转。 输入输出 您可以将输入作为一个列表或字符串LSR,或者作为-1, 0, 1左,直,右的数字。输出是一个正整数。漂浮物还可以。 测试用例 输入以两种格式给出,后面分别是它们的输出。 RLLSLSLL LLLL SLLSLL LSRRSLLSSLSSLSSL SSSSSLSSSSSLSSSSSLSSSSSL [1, -1, -1, 0, -1, 0, -1, -1] [-1, -1, -1, -1] [0, -1, -1, 0, -1, -1] [-1, 0, 1, …

15
我是Pillai素数吗?
甲皮莱素是素数为其中存在一些正米,使得(米!+ 1 )≡ 0pppmmm和 p ≢ 1(m!+1)≡0(mod p)(m!+1)≡0(mod p)(m! + 1) \equiv 0 \:(\text{mod } p)。p≢1(mod m)p≢1(mod m)p \not\equiv 1\:(\text{mod }m) 换言之,整数是一个素数皮拉伊如果它是一个素数,如果存在另一个正整数米,使得阶乘的米,加上1是整除p,如果p - 1不能被整除米。pppmmmmmm111pppp−1p−1p - 1mmm 给定一个正整数作为输入,请确定它是否为Pillai素数。皮莱素数的顺序是OEIS A063980。 例如,是Pillai素数,因为:232323 它是素数,只有2个因数。 和米= 18满足上述条件: 23 | (14 !+ 1 )和 14不划分 22 ; 23 | (18 !+ 1m=14m=14m = 14m=18m=18m = 1823∣(14!+1)23∣(14!+1)23 …

9
赛德尔三角
Seidel三角形是类似于Pascal三角形的数学结构,并因其与伯努利数的关系而闻名。 前几行是: 1 1 1 2 2 1 2 4 5 5 16 16 14 10 5 16 32 46 56 61 61 每行生成如下: 如果行号是偶数(1索引): 调低上一行的第一项 每个下一个项目是上一个项目及其上一个项目的总和 复制最后一个项目 如果行号是奇数: 调低上一行的最后一项 走向倒退,每一项都是前一个项目的总和,它上面的项目 复制现在的第一项。 基本上,我们以锯齿形构造三角形: 1 v 1 > 1 v 2 < 2 < 1 v 2 > 4 > 5 …

6
你愿意做我的织女吗?
我最近一直在玩' The Weaver ',我认为这对代码高尔夫提出了一个有趣的挑战。 前提: 韦弗(Weaver)游戏是一种游戏,其中给您提供了多个丝带,它们分别来自两个方向,彼此成90度角,并且您的目标是在某些交叉点交换它们以实现所需的输出。 像这样:这是一个交换:这不是: 输入: 3个数组: 顶部色带(从左到右) 左色带(从上到下) 要交换的相交点的坐标 输出: 2个数组: 底部色带(从左到右) 右色带(从上到下) 例子: 我将上面的图片用作第一个示例: 输入: [r, y, b], [r, y, b], [(0, 1), (2, 1), (2, 2)] 怎么了: r y b r y b r r r r•y y y y r r b y y …

27
首要或最高因素
挑战: 给定一系列非负整数,范围为0 to Infinity,则检查所有数字是否都是质数。(如果需要,您也可以将输入作为字符串输入) 输入: 输入:数字数组 输出:每个元素替换为以下元素之一的数组: -1 -----> If 0, 1 1 -----> If it is a prime number greater than 1 the highest factor -----> If that number is not prime 返回-1(0,1),1(对于素数> = 2)或给定数的最高因数(对于非素数) 例子: [1, 2, 3, 4, 10, 11, 13] ---> [-1, 1, 1, 2, 5, …
14 code-golf  math  primes 

9
块重排
因此,您的任务是采用一个3x3的块,其中-的平均空格和*的平均填充空格,例如: -** -*- *-* 并重新排列该块,以使*形成一个X,如下所示: *-* -*- *-* 输入: 3x3个正方形,如上面,它们可以是3条线,一个数组,也可以是您想要的。 输出:重新排列成X的最短动作量。每个动作都翻转了两个相互接触的字符,这些字符彼此水平,彼此垂直或彼此对角线。如果不可能,则返回任何不可能的输出,例如999或-4242。5是最小的此类数字。 测试用例: 1)输出:1 -** -*- *-* 2)输出:-1 -*- -*- *-* 3)输出:3 --- -** *** 4)输出:0 *-* -*- *-* 您可以替换空白和非空白字符,但请确保在帖子中包括哪个字符 高尔夫代码 请记住,这是最短代码胜利的代码高尔夫球!

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.