编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

12
实基转换
对于基数转换,我们遇到了一些挑战,但是所有这些挑战似乎都适用于整数值。用实数做吧! 挑战 输入: 以10为底的实数正数 x。可以将其视为双精度浮点数或字符串。为了避免精度问题,可以将该数字假定为大于10 -6且小于10 15。 甲目标基站 b。这是2到36之间的整数。 甲数的小数位的 Ñ。这是1到20之间的整数。 输出:x在n的底数b中的表示形式,带有n个小数位。 在计算输出表达式时,第n个以外的数字应被截断(而不是四舍五入)。例如,x = 3.141592653589793在base中b = 3是10.0102110122...,因此n = 3输出将是10.010(截断),而不是10.011(舍入)。 对于在小数部分中产生有限位数的x和b,还允许使用等效的无限表示形式(截断为n位)。例如,4.5十进制也可以表示为4.49999...。 不用担心浮点错误。 输入输出格式 x将不带前导零。如果x恰好是整数,则可以假定它的小数部分为零(3.0),也可以不为小数部分(3)。 输出是灵活的。例如,可以是: 代表数字的字符串,在整数和小数部分之间带有合适的分隔符(小数点)。位11,12等等(对于b超过10)可以表示为字母A,B像往常一样,或任何其它不同的字符(请注明)。 一个字符串用于整数部分,另一个字符串用于小数部分。 两个数组/列表,每个部分一个,包含从0到35数字的数字。 唯一的限制是整数和小数部分可以分开(合适的分隔符)并使用相同的格式(例如,[5, 11]对于表示整数部分['5', 'B']的列表和对于表示分数部分的列表,否)。 附加规则 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 输出被示出为与数字串0,..., 9,A,..., Z,使用.作为小数点分隔符。 x, b, n -> output(s) 4.5, 10, 5 -> 4.50000 or 4.49999 42, …

27
计算正多边形的面积
给定一个整数,n其中3 <= n < 2^32,计算正n态为1的正多边形的面积;的公式是n * tan(π / n)。对于那些不知道Apothem是什么的人: 正多边形的质点是从中心到边之一的中点的线段。 输出n-gon 的区域作为浮点,且不少于8个小数位。 测试用例 3 5.1961524227 6 3.4641016151 10 3.2491969623 20 3.1676888065 99 3.1426476062 1697 3.1415962425 15000 3.1415926995 注意:上面的测试用例包含的数字比您输出的数字多2个。

8
通过矩阵的最佳路径
给定一个由正整数组成的矩阵,当从左上角元素到右下角遍历时,输出总和最小的路径。您可以垂直,水平和对角移动。请注意,可以上下左右移动,也可以左右移动。 例: 1* 9 7 3 10 2 2 10 4* 1* 1* 1* 7 8 3 6 3 8 9 5* 7 8 10 2 5 2 1* 4 5 1 1 3 6 7 9* 给出最低总和的路径标有星号,并得出以下总和:1 + 4 + 1 + 1 + 1 + 5 + 1 …

30
从数组中随机选择
这个挑战相当简单: 给您一个正整数(不包括0)整数数组,并且必须从该数组中选择一个随机元素。 但是这是一个变数: 选择元素的概率取决于整数的值,这意味着随着整数的变大,它被选中的概率也变大了! 例 给你数组[4, 1, 5]。 在这种情况下,选择4的概率等于4除以数组中所有元素的总和4 / ( 4 + 1 + 5 ) = 4 / 10 =40%。 选择1的概率为1 / 10或10%。 输入项 正整数数组。 输出量 如果使用方法,则返回所选的整数,或将其直接打印到stdout。 规则 这是代码高尔夫球,因此任何语言中以字节为单位的最短代码都胜出。 禁止出现标准漏洞。

14
寻求秘密交换序列
这是一个警察和强盗的挑战,可以在此处找到强盗线程。 您的任务是编写一些输出OEIS序列的代码,并在代码(A______)中包含该序列的名称,并在代码中的序列名称更改为第二个序列的名称时输出另一个单独的序列。 这是Haskell中适用于A000217和A000290的示例。 f x|last"A000217"=='0'=x^2|1>0=sum[1..x] 在线尝试! 然后,您将揭示两个序列之一,而代码则将第二个序列保密。强盗将尝试找出隐藏的序列。如果强盗设法确定您的顺序(或符合条件的其他顺序),您的答案就会被破解。如果在发布答案的一周内没有这样做,则可以将答案标记为“ 安全”,并提供预期的验证解决方案。 安全答案无法破解。 输入输出 从这里取 您的代码可以是一个函数或完整的程序,它通过标准输入法采用n并输出序列的第n个项,该项的第n个项由OEIS页面上提供的索引进行索引。 您必须支持该序列的OEIS b文件中提供的所有值,而不支持b文件中没有的任何数字。 计分 分数将是代码中的字节数,字节越少越好。

6
弹跳顺序
让我们定义一个序列。我们将说一个(n )一种(ñ)a(n)是最小的XXx,它具有以下属性: XXx和ññn是互质的(它们不共享因子) XXx没有出现在序列的前面 |n − x | > 1|ñ-X|>1个|n - x| > 1 与大多数序列不同,我们序列的域和范围是大于 1 的整数。 让我们计算前几个术语。 一个(2 )一种(2)a(2)必须至少为4,但是4和2的因子为2,因此一个(2 )一种(2)a(2)必须为5。 一个(3 )一种(3)a(3),必须是至少5但5采取的是一个(2 )一种(2)a(2),所以它是至少6,但6股因子与3所以它必须是至少7,7个满足所有三个条件从而a (3 )= 7一种(3)=7a(3)=7。 一个(4 )一种(4)a(4) 2分享一个因素 3太近了 4太近了 5太近了 6股因素 7由a(3)拍摄 8股因素 9好 一个(5 )一种(5)a(5) 2好 任务 在这个挑战中,您将编写一个程序,该程序接受大于1的数字并返回一个(n )一种(ñ)a(n)。 这是一个代码问题,因此答案将以字节计分,而字节数越少越好。 测试用例 这是序列的前几个术语(它们当然是2索引的): 5,7,9,2,11,3,13,4,17,6,19,8,23,22,21,10,25,12,27,16,15,14 奖励有趣的事实 由于对Math.se(证明由罗伯特·以色列链接)这个序列是其自身的逆,这意味着a (a …

22
计算特定值的多项式的第n个迭代;fⁿ(x)
给定一个多项式函数f(例如,作为实数系数的列表p升序或降序),一个非负整数n和一个实数值x,返回: f n(x) 即值˚F(˚F(˚F(... ˚F(X)...))),用于Ñ的应用˚F上X。 使用合理的精度和舍入。 将f作为系数列表的解决方案可能是最有趣的,但是如果您能够将f作为实际函数(从而将此挑战减少为琐碎的“ n次应用函数”),请随时添加非平凡的解决方案之后。 案例案例 p = [1,0,0]或f = x^2, n = 0, x = 3: f 0(3)=3 p = [1,0,0]或f = x^2, n = 1, x = 3: f 1(3)=9 p = [0.1,-2.3,-4]或f = 0.1x^2-2.3x-4, n = 0, x = 2.3: f 0(2.3)=2.3 p = …

21
列出号码
给定一个实数,将其转换为列表列表,其中负号(如果有)变为空列表,整数部分变为数字列表,而小数部分(如果有)变为数字列表。这些数字必须是实际数字,而不是字符串。 例子 0 → [[0]] 123 → [[1,2,3]] -123 → [[],[1,2,3]] 123.45 → [[1,2,3],[4,5]] 0.45 → [[0],[4,5]] -0.45 → [[],[0],[4,5]] -123.45 → [[],[1,2,3],[4,5]]
19 code-golf  number 

4
最有效的起泡器
Cubically过于繁琐,无法手动编写任何代码。您的挑战是将ASCII文本转换为Cubically源代码。 立体地 这只是Cubically的一个快速失败;该存储库具有更完整的指南和详细信息。 奇怪的是我前段时间写的一种esolang,使用起来很痛苦。它包含两个内存,一个3x3x3 Rubik的多维数据集和一个称为“记事本”的寄存器。 记忆 内部Rubik's Cube的初始化如下: 000 000 top face 000 111222333444 left, front, right, and back faces, respectively 111222333444 111222333444 555 555 down face 555 在右表面上顺时针旋转90°后,内存立方体将如下所示: 002 002 002 111225333044 111225333044 111225333044 554 554 554 指令 非整数字符设置默认命令。对于再次设置默认命令之前的每个整数,将使用该整数执行命令。例如,x524y312将先执行x5 指令,然后执行2指令,再执行4指令,再执行y3 指令,然后执行1指令,再执行2指令。 命令使用的整数表示面部索引。因此x0将x在UP(0索引)面上执行。x1会执行x在LEFT(1索引)面上执行,依此类推。 执行任何命令6都会在记事本值上执行该命令。执行任何大于6的整数的命令将导致错误。 以下是一些示例命令: R1 -将右面顺时针旋转90°,以使内部立方体看起来像上面的第二个示例 R11 -将右面顺时针旋转90°两次,与 R2 …

30
充分利用两个阵列
您将获得两个浮点数数组。您的任务是将两个数组的相应元素配对,并获取每对的最大值。但是,如果两个对应的元素相等,则必须取它们的总和。 例如,给定列表[1, 3, 3.2, 2.3]和[3, 1, 3.2, 2.6],您必须执行以下操作: 一对元件(或zip): [[1, 3], [3, 1], [3.2, 3.2], [2.3, 2.6]]。 仔细检查每一对并应用上述过程:[3, 3, 6.4, 2.6]。 眼镜 数组/列表将始终具有相等的长度。但是,它们可能是空的。 只要您不滥用这些数字,它们所包含的数字将始终适合您的语言能力。它们可能是正数,零或负数,您必须处理所有类型。 如果它有助于减少字节数,则也可以将列表的长度作为输入。 规则 这是代码高尔夫球,因此最短答案以字节为单位。 标准输入和输出规则适用。您可以采用任何合理的格式输入(和输出)。 默认漏洞是禁止的。 测试用例 Array_1,Array_2->输出 [],[]-> [] [1、2、3],[1、3、2]-> [2、3、3] [1、3、3.2、2.3],[3、1、3.2、2.6]-> [3、3、6.4、2.6] [1,2,3,4,5,5,7,8,9,10],[10,9,8,7,6,5,4,3,2,1]-> [10,9, 8、7、6、10、7、8、9、10] [-3.2,-3.2,-2.4,7,-10.1],[100,-3.2,2.4,-7,-10.1]-> [100,-6.4,2.4,7,-20.2]

19
提取局部最大值
给定一个正整数数组,输出一个大于或等于相邻元素的所有元素的数组。大多数元素将具有两个相邻的元素。第一个和最后一个元素是特殊情况,因为它们只有一个相邻元素。 您可以假定该数组至少包含两个元素。 测试用例: Input | Output [4,2,6,12,4,5,4,3] | [4,12,5] [1,2] | [2] [1,2,3,2,1] | [3] [3,2,1,2,3] | [3,3] [4,4] | [4,4] [2,4,4,4,1] | [4,4,4] [2,3,3,4] | [3,4] [4,3,3,4] | [4,4] 这是代码高尔夫球,最短的代码获胜!

19
三个三角数[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 2年前关闭。 描述 以前,有关这些数字还有很多其他挑战,我希望这一挑战不在其中。 第n个三角数等于所有自然数之和,直到n个简单的东西。对于希望进一步了解自己的人,有一个Wikipedia页面和OEIS条目。 现在,高斯发现每个自然数都可以表示为三个三角数之和(包括0),并且多于一个数也很好,例如0 + 1 + 1 = 2。 挑战 给定自然数(包括0),您的任务是编写一个程序或函数,并打印出三个加起来为参数的三角形数。您可以打印以空格,数组或其他喜欢的方法分隔的数字。但是,禁止使用任何内置函数直接获取包含三角数列表的数组,范围或任何其他形式的集合(例如,产生该范围的单个原子)。 测试用例 9 -> 6 + 3 + 0 or 3 + 3 + 3 12 -> 6 + 6 + 0 or 6 + 3 + 3 or 10 + 1 + 1 13 -> …

30
生成首字母缩写词
这类似于“ 制作首字母缩写词”,但是有几个主要区别,包括获取首字母缩写词的方法以及此挑战包括灵活的输出。 任务 给定仅包含可打印ASCII的字符串(允许包含字符/长度为1的字符串的列表),请在输入中输出所有大写字母,其后跟一个空格或破折号,或者是输入中的第一个字符。空字符串是未定义的行为。 测试用例: 输出可以在格式"TEST",["T","E","S","T"]或其他任何适合你。 Self-contained Underwater Breathing Apparatus SUBA a Programming Language PL NATO Atlantic TREATY Organization NATO DEFCON 2 D hello, world! light-Emitting dioDe E What Does the Fox Say? WDFS 3D mov-Ies I laugh-Out Lou-D OLD Best friends FOREVE-r BF -- <space> -- --a - - …
19 code-golf  string 

14
计算MU编号
前两个MU编号分别为2和3。其他每个MU编号都是尚未出现的最小编号,可以用一种确切的方式表示为两个较早的不同MU编号的乘积。 这是前十 2, 3, 6, 12, 18, 24, 48, 54, 96, 162 任务 给定一个正数,计算并输出第n个MU数。 这是一场代码高尔夫竞赛,因此您应该努力使源代码尽可能的小。 OEIS A007335

10
SQL选择数字范围
我发现很难获得一定数量的数字作为行中的数字MySQL。 例如,范围1-5是通过以下方式实现的: SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 将导致: 1 2 3 4 5 对于0-99,我可以交叉连接两个0-9表: CREATE TABLE nums as SELECT 0 as num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION …
19 code-golf  tips  syntax  sql 

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.