Questions tagged «code-golf»

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

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]]

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 

2
那是谁的多边形?
表示拓扑表面的一种方便且有用的方法是使用基本多边形。多边形的每一侧都与另一侧匹配,并且可以是平行的或反平行的。例如,这是圆环的基本多边形: 为了弄清楚为什么这是一个圆环,我们可以想象我们的多边形是一张纸。为了制作适当的表面,我们希望弯曲纸张,以使相应的边缘与箭头的方向相同。对于我们的圆环示例,我们可以从将纸卷成圆柱体开始,以便连接两个蓝色边缘(标记为b)。现在,我们将试管弯曲并将其两个红色边缘(标记为a)彼此连接。我们应该有一个甜甜圈形状,也称为圆环形状。 这可能会有点棘手。如果您尝试对以下多边形进行相同处理,则其中一个边沿相反的方向移动: 您可能会遇到麻烦。这是因为此多边形代表的Klein瓶子无法嵌入三个维度。这是维基百科的图表,显示了如何将这个多边形折叠成Klein瓶子: 您可能已经猜到了,这里的任务是获取基本多边形并确定其为哪个表面。对于四个面的多边形(您将需要处理的唯一曲面),有4个不同的曲面。 他们是 圆环面 克莱因瓶 球 投射平面 现在不是 图像处理,因此我不希望您将图像作为输入,而是使用方便的符号来表示基本多边形。您可能已经注意到,在上面的两个示例中,我用相同的字母(a或b)命名了相应的边,并且给扭曲的边附加了一个标记以显示其扭曲。如果我们从上边缘开始并沿顺时针方向写下每个边缘的标签,我们将得到一个表示每个基本多边形的符号。 例如,提供的Torus将变为abab,而Klein瓶将变为ab - ab。对于我们的挑战,我们将使其变得更加简单,而不是用负号标记扭曲的边缘,而改为将那些字母大写。 任务 给定一个字符串,确定它是否代表基本多边形,并输出一个与其正确表面相对应的值。您无需精确命名表面,只需要4个输出不同的值即可,每个值代表4个表面之一,第5个值代表不正确的输入。所有基本案例都包含在“ 简单测试”中部分介绍,每辆车将同构或无效。 规则 侧面将不会总是用a和b标记,但是它们总是会用字母标记。 有效输入将包含4个字母,其中两个是一种类型,而另外两种是两种类型。您必须始终输出正确的表面以进行有效输入。 您应该拒绝(不输出代表曲面的4个值中的任何一个)无效输入。拒绝输入时,您可以执行任何操作,只要它可以与4个表面区分开即可 这是代码高尔夫球,因此目标是最大程度地减少源代码中的字节数。 测验 简单测试 abab Torus abAb Klein Bottle abaB Klein Bottle abAB Projective Plane aabb Klein Bottle aAbb Projective Plane aabB Projective Plane aAbB Sphere abba Klein Bottle …

15
最大互素数分解
定义 如果两个数字的唯一正公约数是,则它们是互质的1。 如果该列表中的每对数字互为互素,则该数字互斥互质。 数字的因式分解n是其乘积为的数字列表n。 任务 给定一个正数n,输出n不包含的最大长度的互互素因式分解1。 例 对于n=60,答案是[3,4,5],因为3*4*5=60没有其他互互素因式分解的1长度大于或等于3分解的长度。 规则与自由 您可以使用任何合理的输入/输出格式。 输出列表中的条目无需排序。 测试用例 n output 1 [] 2 [2] 3 [3] 4 [4] 5 [5] 6 [2, 3] 7 [7] 8 [8] 9 [9] 10 [2, 5] 11 [11] 12 [3, 4] 13 [13] 14 [2, 7] 15 [3, 5] 16 …

19
将我的斐波那契除数相加!
著名的斐波那契数列是F(0) = 0; F(1) = 1; F(N+1) = F(N) + F(N-1)(对于这个挑战,我们从0开始)。 您的挑战:由于ñ,输出所有的总和d个斐波那契数为所有除数Ð的的ñ个Fibonacci数。如果您希望使用更正式的符号, 输入:正整数n 输出:总和 例如,考虑n=4。F(4) = 33的除数是1和3,因此输出应为F(1) + F(3) = 1 + 2 = 3。 对于n=6,F(6) = 8和,8的除数是1,2,4,8,因此输出是F(1) + F(2) + F(4) + F(8) = 1 + 1 + 3 + 21 = 26。 测试用例: 1 => 1 2 => …

8
可达号码
定义 欧拉披(Euler Phi)函数(又称totient函数):该函数接受一个正数,并返回小于给定数的正数,这些正数与给定数互质。表示为φ(n)。 可达数:如果存在一个正整数x,使得φ(x) == n,然后n是可到达的。 任务 编写函数/程序以确定给定的正整数是否可以达到。 输入值 任何合理格式的正数。可以假定数字在该语言的能力范围内。一元输入被接受。 输出量 两个一致的值,一个用于可访问的数字,另一个用于不可访问的数字。两个值可以是任意值,只要它们是一致的即可。 测试用例 以下是可接通的电话号码100: 1,2,4,6,8,10,12,16,18,20,22,24,28,30,32,36,40,42,44,46,48,52,54,56,58,58, 60、64、66、70、72、78、80、82、84、88、92、96 (OEIS上为A002202) 规则 有标准漏洞。 获奖标准 这是代码高尔夫球。提交的字节数最少。 参考文献 欧拉·菲函数 OEIS A002202

25
加分数
编写一个程序或函数,将两个长度相同的非空列表作为输入,并执行以下操作: 使用第一个列表的元素获取分子, 使用第二个列表的元素来获取分母, 简化后显示结果分数(2/4=>1/2),以“ +”号分隔, 在最后一个分数之后显示“ =”和加法结果。 例: 输入值 [1, 2, 3, 3, 6] [2, 9, 3, 2, 4] 输出量 1/2+2/9+1+3/2+3/2=85/18 关于规则 列表的元素将为正整数, 元素可以用空格隔开,例如:1/2 + 2/9 + 1 + 3/2 + 3/2 = 85/18可以, 尾随换行符是允许的, 列表可以采用上述格式以外的其他格式,例如:(1 2 3 3 6)或{1;2;3;3;6},等等。 1可表现为1/1, 您可以返回适当的字符串来代替打印, 您不需要处理错误的输入, 最短的代码胜出。

23
两个六面骰子100卷的总和
假设您有两个六面骰子。将线对滚动100次,计算每对的总和。打印出每个总和发生的次数。如果从未汇总过一笔总和,则必须包括零或某种方式以标识该特定笔从未从未汇总过。 示例输出:[3、3、9、11、15、15、11、15、7、8、3] 总和索引中表示了总和的滚动次数-2 在此示例中,两个总和被滚动3次([2-2]),三个总和被滚动3次[[3-2]),四个总和被滚动9次([4-2]),依此类推上。掷骰子总和并不重要(5和2与6和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.