编程拼图和代码高尔夫

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

27
从Internet下载文件
介绍 是的,就是这么简单。从互联网上下载任何文件! 规则 您必须使用您语言的API。 您必须输出下载到STDOUT的文件,控制台,文件等。 输入的内容应为空,或您要下载的网址,但该网址必须计入字节数。 祝好运!

9
温度不均!
TNB曾经就最佳温度范围进行过一次讨论,我们达成了共识:取所有四个主要温度范围的平均值!也就是说,摄氏,开尔文,华氏,和兰(对不起列氏)。 因此,现在的问题是,大多数人不使用此系统。所以,我需要一个程序从这个平均值转换回来! 挑战 给定特定温度的摄氏,华氏度,开尔文和兰金表示的平均值,请以任何预定且一致的顺序输出各个标准表示。事实证明,根据我的白板计算,这是可能的。输入将是您的语言可以处理的任何范围内的单个浮点值,而输出将是任何合理格式的四个浮点值。您可以限制输入以强制输出在您的语言范围内,但是您必须能够支持到绝对零(因此,您需要能够处理负数)。 测试用例 input -> (Celsius, Fahrenheit, Kelvin, Rankine) 100 -> (-70.86071428571424, -95.54928571428565, 202.28928571428574, 364.12071428571437) 20 -> (-128.0035714285714, -198.4064285714286, 145.14642857142857, 261.2635714285714) -10 -> (-149.43214285714282, -236.97785714285715, 123.71785714285716, 222.69214285714287) 10000 -> (7000.567857142858, 12633.022142857144, 7273.717857142858, 13092.692142857144) 这些值是通过Uriel的Python程序生成的,我验证了它们的正确性。
21 code-golf  math 

27
在另一个列表中找到值的索引
您必须将两个正整数列表作为输入,我们将其称为n和m。 您可以假设: n中的所有整数都是m的一部分 m中的所有整数都是唯一的 列表非空 挑战:返回在m中的n中找到值的位置的索引。 这可能会令人困惑,但是我认为测试用例将使任务非常清晰。示例是1索引的,如果需要,可以选择0索引(请指定)。 n = 5 3 4 1 m = 6 8 4 1 2 5 3 100 output: 6 7 3 4 // 5 is in the 6th position of m // 3 is in the 7th position of m // 4 is in …
21 code-golf  number 

30
所有k-mers / n-gram
介绍 我们有直方图和计数,但没有列出全部。 每年,Dyalog有限公司都会举办一次学生比赛。面临的挑战是编写好的 APL代码。这是今年第六个问题的与语言无关的高尔夫版本。 我得到比赛原作者的明确许可,可以在此处发布此挑战。跟随提供的链接并与作者联系,以进行验证。 问题 术语k-mer通常是指字符串中包含的所有可能的长度为k的子字符串。在计算基因组学中,k-mer指通过DNA测序获得的读数中所有可能的子序列(长度为k)。编写一个函数/程序,该函数需要一个字符串和一个k(子字符串长度),并返回/输出原始字符串的k-mers的向量。 例子 [4,"ATCGAAGGTCGT"] → ["ATCG","TCGA","CGAA","GAAG","AAGG","AGGT","GGTC","GTCG","TCGT"] k >字符串长度?不返回任何结果/任何空结果: [4,"AC"]→ []或""或[""]

10
排序无用字符
TidB给出的非常好的答案激发了这一挑战。 在TidB的答案,每八个字符是正确的顺序:gnilwoB edoC(Code Bowling向后)。但是,其他字符串的排列顺序却是奇怪的,随机的。 您的挑战是解决此问题。 以一个(非空)字符串和一个正整数n作为输入。该字符串将包含范围为32-126(空格到波浪号)的ASCII字符。 您必须按升序对字符串进行排序(根据ASCII码值从左看),但是n从字符串的末尾开始跳过每个字符。例如,让我们以字符串abcdABC123作为输入,然后n=4,我们将得到: abcdABC123 <- Input string. (n=4) _b___B___3 <- These will not be sorted (every 4th starting from the end) 1_2AC_acd_ <- The remaining characters, sorted 1b2ACBacd3 <- The final string (the output) 另一个例子: 9876543210 <- Input string (n=2) _8_6_4_2_0 <- These will not be …

10
该列表中有多少个二十一点序列?
您的任务是查找在12张卡的有序列表中可以找到多少个不同的21点序列。 二十一点序列被定义为连续的卡序列,其点的总和正好为21。点的计数根据下表进行: Symbol | Name | Points Symbol | Name | Points -------+-------+-------- -------+-------+-------- 2 | Two | 2 9 | Nine | 9 3 | Three | 3 T | Ten | 10 4 | Four | 4 J | Jack | 10 5 | Five | 5 Q …

14
查找具有最小均值的子矩阵
您会得到一个n×m的整数矩阵,其中n,m> 3。您的任务是找到均值最低的3-by-3子矩阵,然后输出该值。 规则和说明: 整数将为非负数 可选的输入和输出格式 输出必须精确到至少2个十进制小数点(如果不是整数) 子矩阵必须由连续的行和列组成 测试用例: 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 Minimum mean: 14 100 65 2 …
21 code-golf  math  matrix 

16
修复我的胖手指
高尔夫挑战赛 我有一个问题,我的手指很胖,我经常在键盘上向右滑动一个键。 随着时间的流逝,这种担心恐怕会越来越糟。 偷听我做的每一次按键操作;向右移shifte pne! Befpre然后我想要一个程序(或functipn)将每个按键自动移回左键。 我将确保在其余的时间里把我的巨蛋打起来,以免引起仇视! 目的: 编写一个程序或函数,该程序或函数在标准QWERTY键盘上接受以下绿色键之一的输入,并在其左侧返回键的字符。 条件: •您可以假定运行此程序的人正在使用QWERTY键盘,如上图所示。 •输入和输出都不区分大小写,对于此挑战,您可以使用任何大小写(或大小写混合),并且如果需要,还可以假设所有输入都处于一种情况。 •如果由于某种原因您的语言无法允许用户输入返回键,则您可能会为此忽略一次击键 •这个挑战仅仅是按键的默认值,例如,如果该4键被按下,你可以假设它总是会4永不$ •您可以假设仅会按下绿色键。 例子Input-> Output: S-> a 4-> 3 =-> - [->p 这是代码高尔夫球,因此字节数最短的程序将获胜!

16
验证特征对
在这个挑战中,您将得到一个方矩阵A,一个向量v和一个标量λ。您将需要确定是否(λ, v)对应于的本征对A。即,是否Av = λv。 点积 两个向量的点积是逐元素相乘的总和。例如,以下两个向量的点积为: (1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32 注意,点积仅定义在两个相同长度的向量之间。 矩阵向量乘法 矩阵是2D值网格。的mX n矩阵具有m行和n列。我们可以将mx n矩阵想象成长度m向量n(如果我们取行)。 在mx n矩阵和大小n向量之间定义矩阵向量乘法。如果我们将mx n矩阵与大小n向量相乘,我们将获得大小m向量。i结果向量中的-th值是i矩阵的第-行与原始向量的点积。 例 1 2 3 4 5 Let A = 3 4 5 6 7 5 6 7 8 9 1 3 …

20
我如何最终得到这个FizzBu​​zz?
FizzBu​​zz非常简单,您可以向后退。在此挑战中,将为您提供FizzBu​​zz字符串的长度,并且必须提供产生该字符串的正整数。 描述 为了解决这个问题,n以下算法生成了一个FizzBu​​zz字符串。 以一个空字符串开头,对于每个i=1..n(包括): 如果i被3和整除5,则追加FizzBuzz到字符串。 如果i只是被3追加整除Fizz。 如果i只是被5追加整除Buzz。 如果不能i被整除,请附加的十进制表示形式i。 因此,例如FizzBuzz(15)以下内容: 12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz 您将被给予Length(FizzBuzz(n))并且必须确定n。您可以假设输入为正,并且始终为某些FizzBu​​zz字符串的长度。 规则 您的解决方案可以是任何标准可接受语言的完整程序或功能定义。您的程序/函数可以接受参数并以任何标准接受的方式返回答案。禁止出现标准漏洞。 您可能会假设输入是肯定有效的(描述了某些FizzBu​​zz字符串的长度),并且小于您语言中本机可表示的最大整数。 这是代码高尔夫,因此最短的字节数获胜。 例子 这是一些例子 Length(FizzBuzz(n)) -> n 1 -> 1 6 -> 3 15 -> 6 313 -> 100 3677 -> 1001 编辑 修复了最后一个测试用例。谢谢@SteadyBox。
21 code-golf 

8
哥伦布的颤抖序列
OEIS 在Golomb序列上有一个变体(A111439)。与Golomb的序列中一样,描述序列中出现的频率。但是此外,没有两个连续的数字可能是相同的。在建立序列时,始终选择不违反这两个属性的最小正整数。由于不允许连续的相同数字,该序列随着其增长而略微上下波动。以下是前100个字词:A(n)nA(n) 1, 2, 3, 2, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6, 7, 6, 7, 8, 7, 8, 9, 8, 9, 8, 9, 10, 9, 10, 9, 10, 11, 10, 11, 10, 11, 10, 11, 12, 11, 12, 13, 12, 13, 12, 13, 12, 13, 12, …

24
标题中的相邻字符是什么?[3,4]!
标题故意拼写错误。阅读更多内容以找出原因。 您的任务:给定分隔的字符串或包含字符的列表 A,B,C,D,输出所有相邻的相等字符的索引。输出可以是多行上的多个字符串/整数,列表/数组或定界字符串。 所有输出应在列表或字符串或多行打印中。每条印刷线(如果有多条)只能包含1个字符串或数字。随便什么都可以。 输入/输出的标准方法。有标准漏洞。 例如,输入'ABCDDCBA'应该输出3,4或4,5,具体取决于它是0到1的索引,因为这些数字是其索引D和D下一个索引。 测试用例: 测试用例的输入为单个字符串,输出为- ,分隔字符串。输出为0索引,对每个输出项加1使其成为1索引。 Input: 'ABCDCABCD' Output: '' Input: 'AABBCCDD' Output: '0,1,2,3,4,5,6,7' Input: 'ABCDDDCBA' Output: '3,4,5' Input: 'ABBCDD' Output: '1,2,4,5' 这是代码高尔夫球,所以最短的代码获胜!

2
交换一些周期性和非周期性的部分
在每个有理数的十进制表示形式中p/q,您具有以下形式的周期尾部,非周期性首部和小数点前的部分: (before decimal point).(non-periodic)(periodic) 一些示例包括: 1/70 = 0.0142857... = (0).(0)(142857) 10/7 = 1.428571... = (1).()(428571) ## no non-periodic part 1/13 = 0.076923... = (0).()(076923) 3/40 = 0.075 = (0).(075)() ## no periodic part -2/15 = -0.13... = -(0).(1)(3) ## negative 75/38 = 1.9736842105263157894... = (1).(9)(736842105263157894) ## periodic part longer than …

8
阿诺德的猫地图
挑战 给定具有相同宽度和高度的彩色光栅图像*,输出在Arnold猫图下转换的图像。(*详细信息见下文) 定义 给定图像的大小,N我们假定像素的坐标由0和之间的数字给出N-1。 然后定义阿诺德的猫图如下: 坐标[x,y]处的像素移动到[(2*x + y) mod N, (x + y) mod N]。 这只是圆环上的线性变换:由于,黄色,紫色和绿色部分被映射回初始正方形mod N。 该地图(我们称之为f)具有以下属性: 它是双射的,意味着可逆:这是矩阵的线性变换[[2,1],[1,1]]。由于它具有行列式1且仅具有整数项,因此逆数也仅具有整数项并由给出[[1,-1],[-1,2]],这意味着它在整数坐标上也是双射的。 它是图像双射图组中的一个扭转元素N x N,这意味着如果将其应用足够多次,您将获得原始图像:f(f(...f(x)...)) = x保证将图应用于自身导致身份的次数减少或等于3*N。在下面的内容中,您可以看到经过多次重复应用Arnold的cat map之后的猫的图像,以及重复应用的外观的动画: 细节 您的程序不必一定要处理图像,但是2D数组/矩阵,字符串或类似的2D结构也是可以接受的。 您的(0,0)点位于左下角还是左上角都没关系。(或在其他任何角落,如果使用您的语言更方便)。请指定您在提交中使用的约定。 测试用例 矩阵形式([1,2,3,4]是第一行,1具有index (0,0),2具有index (1,0),5具有index (0,1)) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 maps …

20
查找路径上的所有坐标
给定2D字符串作为输入,可以是带有换行符的字符串,也可以是行列表,输出列表(x, y)中所有哈希(#)的坐标。输入将仅包含哈希和空格。(和换行符,如果您选择将输入作为2D字符串) 如果没有哈希,则可以输出任何内容。 输出应该明确地确定哪些数字与哪些配对。 例: ## 应该输出: (0,0), (1,0) 假定从左上方开始基于0的索引。您可以从任何角度开始,使用基于0或1的索引,和/或y首先输出。(例如形式y,x)。 更多测试用例(同样,全部使用基于0的左上(x, y)索引): # ##### # (4, 0), (0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (0, 2) # ### ### # (0, 0), (2, 0), (3, 0), (4, 0), (0, 1), (1, 1), (2, 1), (4, 1) 请注意,这些测试用例全部按行列出,而不是按照路径列出。 …

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.