编程拼图和代码高尔夫

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

7
寻找最小的集合
考虑三组A,B并且C每片含n整数。由此我们可以设定 S_n = {a * b + c | a in A, b in B, c in C}. 给定一个n,存在一个或多个最小尺寸S_n,具体取决于A,B and C已选择的集合。 这些集合可以包含任何n不同的整数(正,零或负)。例如,它们不需要是连续的整数,也不需要集合彼此相等。 A = {-1, 0, 5, 10, 27}, B = {2, 5, 6, 10, 14} and C = {-23, 2, 100, 1000,10000}是可以接受的(尽管不是一个好主意)。 任务 任务是编写代码来找到最小的一组S_n针对每个它能n从1到20。 对于每个nfrom 1到20您的代码,应输出selected A,B以及C结果的大小S_n 得分了 您的分数将是S_n您创建的大小的总和。那将是二十个数字的总和。 …

3
绘制ASCII长方体
给定三个> = 2的整数,在正交(柜)投影中创建一个ASCII立方体。这三个整数表示包括边角的高度,宽度和深度(以可见字符为单位)。拐角应为“ o”或“ +”,自由选择。 w:10,h:5,d:4因此,得出: o--------o / /| / / | o--------o | | | o | | / | |/ o--------o 现在,要使其稍微难一点,所有的面孔都可以是坚固的,透明的或缺失的。我们像这样订购面孔: o--------o / /| / 2 / | o--------o 3| | | o | 1 | / | |/ o--------o --- |2| ------- |5|1|3| ------- |4| --- …

10
让我们学习一些土壤pH值化学!
安德鲁是一位化学家,对溶液的酸度和农业感兴趣。经过数月的研究(Google不是他的朋友),他提出了以下表格*,其中涉及人类可读的pH值(氢势)酸度: 面额| pH范围 | ------------------------- + ------------------------ ----- 超酸性| 3.5以下 ------------------------- + ------------------------ ------ 极酸性| 在3.5和4.4之间 ------------------------- + ------------------------ ------ 极强酸性| 在4.5和5.0之间 ------------------------- + ------------------------ ------ 强酸性| 在5.1和5.5之间 ------------------------- + ------------------------ ------ 中度酸性| 在5.6和6.0之间 ------------------------- + ------------------------ ------ 微酸性| 介于6.1和6.5之间 ------------------------- + ------------------------ ------ 中立| 在6.6和7.3之间 ------------------------- + ------------------------ ------ …

23
交换字母和数字
给定仅包含字母数字ASCII字符并以字母开头的输入字符串,请将每个字母运行与后面的数字运行交换。 一个运行是连续的字母或数字序列。注意,在输入字符串以字母结尾的情况下,该行程保持不变。 演练示例 例如,给定输入字符串uV5Pt3I0: 字母和数字分开运行: uV 5 Pt 3 I 0 确定运行对: (uV 5) (Pt 3) (I 0) 交换运行对: (5 uV) (3 Pt) (0 I) 串联: 5uV3Pt0I 例子 uV5Pt3I0 -> 5uV3Pt0I J0i0m8 -> 0J0i8m abc256 -> 256abc Hennebont56Fr -> 56HennebontFr Em5sA55Ve777Rien -> 5Em55sA777VeRien nOoP -> nOoP 这是代码高尔夫球,因此最短的答案以字节为单位。鼓励解释。
14 code-golf  string 

5
在自然数内打双射,将素数映射到素数的适当子集
定义 甲双射从一组S到一组T是从函数S到T这样一个元件在T由恰好一个要素映射S。 阿一组内双射 S是从一个双射S来S。 在自然数是它是大于或等于整数0。 一组子集S是一组,使得该组中的每一个元素也是S。 一个真子集一组S是一组的一个子集S这是不等于S。 任务 编写一个将自然数作为输入并输出自然数的程序/函数。它必须是双射,并且程序/功能下的素数图像{f(p) : p ∈ ℙ}必须是的适当子集ℙ,其中ℙ素数是。 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。适用标准漏洞。


5
熄灭7段版本
给定一个7段显示,其中某些段处于打开状态而某些段处于关闭状态,请找到一个数字序列(0-9),以便在切换每个数字的相应段之后,所有段均被关闭。 例 _ _ [3] => | [1] => [OFF] _ | 数字及其对应的段: _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| 规则 Codegolf⊨最短进入获胜。 输入值 已打开的段的非空列表,给出为 一连串数字。段从上到下,从左到右编号;从0或1开始。数字不必按顺序排列。 一个7位数字。未指定MSB / LSB(因此可以选择)。 …

8
探索xorspace
一组整数的xorspace是所有整数的集合,可以通过将起始整数与通常的按位xor运算符(^)组合获得。例如,x的xorspace (8, 4)是(0, 4, 8, 12):0是4 ^ 4,12 是4 ^ 8,并且没有其他数字可以达到。请注意,根据此定义,始终包括起始编号(例如4为4 ^ 4 ^ 4)。 您的目标是编写最短的程序,该程序将非负整数列表作为输入,并输出其xorspace中的元素数量。 禁止出现标准漏洞。 输入和输出可以采用任何常用格式。输入内容被保证为有效,非空且没有重复。 您的代码应该能够在不到一天的时间内处理所有测试用例。 测试用例 Input: 0 Output: 1 Input: 6 Output: 2 Input: 8 4 Ouput: 4 Input: 0 256 Output: 2 Input: 256 259 3 Output: 4 Input: 60 62 94 101 115 …

2
查找子集因素
假设我们有一组有限的正整数。这个集合可以表示为一点点线,其中集合中存在的每个整数都像扫描仪或打孔卡一样被填充。例如,该集合{1,3,4,6}可以表示为: *.**.* *代表我们集合的成员,并且.代表一个不是集合成员的整数。 这些集合具有“因素”。如果可以从x的副本中构建y,则x是y的因子。更严格地,我们对因子的定义如下: 当且仅当y是许多不交集的并集时,x都是y的因子,所有不交集都是x且具有偏移量。 我们之所以称其*.*为因子,是*.**.*因为它很显然是由两个*.*首尾相连的副本组成的。 *.**.* ------ *.*... ...*.* 因素不一定是端到端的,我们还要说这*.*是*.*.*.* *.*.*.* ------- *.*.... ....*.* 因素也可以重叠。这*.*也意味着**** **** ---- *.*. .*.* 但是,一个数字不能多次覆盖一个因数。例如*.*是不是一个因素*.*.*。 这是一个更复杂的示例: *..*.**..***.*.* 这*..*.*是一个因素。您可以在下面看到我排列的三个实例的地方*..*.*。 *..*.**..***.*.* ---------------- *..*.*.......... ......*..*.*.... ..........*..*.* 任务 给定一个由任何合理表示形式输出的集合,所有集合都是输入的因子。 您可以按任何值编制索引(即,可以选择输入中可以存在的最小数字)。您还可以假设输入集将始终包含该最小值。 这是一个代码问题,因此您应该以尽可能少的字节为目标。 测试用例 这些测试用例是手工完成的,较大的可能有一个或两个错误 * -> * *.*.* -> *, *.*.* *.*.*.* -> *, *.*, *...*, *.*.*.* ****** -> …

2
Quine / Error Quine Polyglot
您的任务很简单:编写一个可以用两种语言运行的程序。在语言1中,它应该是普通的Quine(打印自己的源代码),在语言2中,它应该是错误的Quine(生成与其自身的源代码相同的错误消息)。 这是代码高尔夫球,因此最短的有效提交(以字节为单位)获胜。 规则: 语言可以任意相似。不允许使用超集/相似版本/相似方言。 错误规则规则与“使错误合格”中的规则相同。。

9
找出赔率
通过任何合理的输入方法,如果给定无序的正整数集合,则返回所有具有奇数个奇数元素(即总数为奇数)的子集合。 这是代码高尔夫球,因此您应努力减少程序的字节数。 由于某些语言仅具有有序集合(列表,数组,向量等),或者没有允许重复的无序集合,因此您可以使用有序集合(无论您选择哪种语言),但是不应输出任何重复的集合具有不同的顺序(例如[2,3]和[3,2])。您可以按照自己认为合适的顺序输出。 测试用例 [2,3,7,2] -> [[3],[7],[2,3],[2,7],[2,2,3],[2,2,7]] [2,4,6,8] -> [] [4,9] -> [[9],[4,9]]

12
寻找近似相关
考虑一个S长度为string 的二进制字符串n。从索引中1,我们可以计算出海明距离之间S[1..i+1],并S[n-i..n]为所有i从订单0到n-1。等长的两个字符串之间的汉明距离是相应符号不同的位置数。例如, S = 01010 给 [0, 2, 0, 4, 0]. 这是因为0matchs 0,01具有汉明距离2到10,010matches 010,0101具有汉明距离4到1010 最后01010匹配自己。 但是,我们仅对汉明距离最大为1的输出感兴趣。因此,在此任务中,我们将报告Y汉明距离是否最多为1,N否则为否。因此,在上面的示例中,我们将获得 [Y, N, Y, N, Y] 定义f(n)为Ys和Ns在2^n不同S长度的所有可能位字符串上迭代时得到的不同数组的数目n。 任务 为了增加n开头1,应该输出代码f(n)。 示例答案 对于n = 1..24,正确的答案是: 1, 1, 2, 4, 6, 8, 14, 18, 27, 36, 52, 65, 93, 113, 150, 188, 241, 279, 377, 427, 540, 632, …

11
回收计数算法
学习如何进行计数的孩子通常知道数列,但似乎无法正确地将它们组合在一起。 例如,他们可能会说: 1,2,3,4,7,8,9,10 有时孩子会意识到他们跳过了一些数字,然后回去: 1,2,3,4,7,8,5,6,7,8,9,10 显然,这是上乘的模式。我们需要识别它们。 要识别这些列表: 我们确定列表的最小M和最大N 我们逐一列出。如果当前数字大于或等于列表右侧的任何成员,那么我们将删除当前数字。 如果剩余列表包含从M到的所有数字N,则我们返回真实值。 您可以假设您的输入列表将至少包含1个元素。您可以假设所有整数都是非负数。 测试用例: 真相: 0 10 0 0 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 0 1 2 3 0 1 2 3 4 5 5 0 1 1 …

15
发音数字
概念 记住数字可能很困难。记住一个单词可能会更容易。为了记住大数字,我创建了一种以类似leetspeak的方式发音的方法。 规则 每个数字首先用其对应的字母替换: 0 => O 1 => I 2 => R 3 => E 4 => A 5 => S 6 => G 7 => T 8 => B 9 => P 替换后,还做了另外两件事以提高发音: 在两个辅音之间U添加a。 在两个元音之间,N添加a。 实例/测试案例 512431 => SIRANENI 834677081 => BENAGUTUTOBI 3141592 => ENINANISUPUR 1234567890 => IRENASUGUTUBUPO …
14 code-golf  number 

30
随机化数组的标量
您必须使用每个数字(0-n含)来填充数组。没有数字应该重复。但是,它们必须是随机顺序的。 规则 禁止所有标准代码高尔夫球规则和标准漏洞 该数组必须是伪随机生成的。每个可能的排列都应具有相等的概率。 输入值 n 以meta的I / O帖子中允许的任何方式。 输出量 数字数组从0-n包容性开始逐渐增加。
14 code-golf  random 

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.