Questions tagged «code-golf»

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

19
这是一个连续的质数/常数指数吗?
前一段时间,我看了27000的素因数分解: 27000 = 2 3 ×3 3 ×5 3 有两点特别的事情: 连续素数:素数是连续的:2是第一素数,3是第二素数,5是第三素数。 常数指数:每个素数的指数都是相同的(总是3) 用数学表示: 的整数X是一个连续的素数/恒定阶数,如果存在严格的正整数Ñ,ķ,中号,使得X = p Ñ 米 × p Ñ +1 米 ×...× p Ñ + ķ 米,其中p j是第j个素数 您的任务是测试正整数是否满足这些条件。 输入: 正整数> 1,采用任何合理形式。 输出: 两个值之一,其中至少一个必须为常数,指示输入是否为连续质数/恒定指数数。 边缘情况: 素数truthy,作为主要的分解p是p 1 其他可以写为p m(其中p是素数)的数字也是真实的。 规则: 有标准漏洞。 不用担心整数溢出,但是最大为255的数字必须有效。 以字节为单位的最短代码获胜。 测试用例: 真相: 2 3 4 …

30
用HTML生成am * n表
输入: 两个十进制整数m和n分别给出表的行数和列数。 m并且n大于或等于1。 输出: HTML中具有m行n列的表。 该表应可由您选择的现代浏览器显示。即使未关闭标签,大多数浏览器也会正确显示所有内容。适当的缩进和间距是可选的。 每个单元格中至少应有一个(非空白)可打印字符。 第一行中的单元格应使用<th>标签,而随后几行中的单元格应使用<td>标签。 获胜条件: 这是代码高尔夫球,因此每种语言的最短源代码胜出。 输入示例: 2 3 输出示例: <table> <tr> <th>A</th> <th>A</th> <th>A</th> </tr> <tr> <td>A</td> <td>A</td> <td>A</td> </tr> </table> 要么 : <table><tr><th>A<th>A<th>A<tr><td>A<td>A<td>A

15
自包含数字的序列
让我们将一个独立的数字定义为一个正整数,其数字出现的长度仅等于它们的长度。换句话说,任何十进制数字d(不包括0)仅在长度为d的游程中出现。 任务 您可以选择以下三种方法之一: 给定整数n,输出第n个(包含0或1索引的)自包含数字。 给定整数n,输出前n个自包含数字。 无限期打印序列。 例子 133322是一个自包含的数字,因为3出现在三个3的行中,1是单个,而2出现在两个2的行中。 另一方面,不是35553355,因为尽管5和3分别出现5次和3次,但它们不会形成相邻数字的行。 44422不是自包含的,因为4仅发生3次。 12222333也不是,因为2以四个2的顺序出现,并且不能将其视为两个2的两个单独的行程。 毫不奇怪,这是OEIS A140057,它的前几个术语是: 1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555 您可以输入和通过任何提供输出的标准方法,在任何编程语言,但同时指出,这些漏洞被默认禁止的。这是代码高尔夫,因此以字节为单位(每种语言)的最短代码获胜。

29
从数字输出二进制路径
对于n满足的整数,请n > 0根据其二进制表示形式将其值写为右降路径。 规则 第一个(最高有效)置位总是在左上角。 设置下一位(a 1)后,在与上一个绘制的字符相同的列中的下一行绘制一个字符(“填充”)。尝试使用空格(“空”)进行填充,但是只要字符始终相同,任何字符都可以。 当下一位未设置(a 0)时,在同一行上紧接着绘制的上一个字符的右侧绘制一个字符(“填充”)。 您的代码必须支持至少20个有效位的数字。 编写完整的程序,函数,lambda等,但不要编写任何代码段。 不允许前导空格(或“空”字符)/行 允许任意数量的尾随空格(或“空”字符)/行 可以接受任何类型的一维输入:数字,字符串,布尔数组等。不过,请保持位的顺序不变。 可以接受任何形式的可视2D输出:在stdout上,是一个字符串(任何两个不同的值分别表示“ filled”和“ empty”),如果需要,您甚至可以输出矩阵。数字列表似乎很难与“无标题空间”规则相协调,但是如果您找到使用它的方法,我将持开放态度。注意:如果选择打印或返回字符串,则使用的字符必须是代码点范围[32-126]中的ASCII字符。 禁止出现标准漏洞。 这是codegolf,所以最短的代码获胜。 例子 输入1 * 输入2 ** 输入3 * * 输入4 *** 输入5 ** * 输入6 * ** 输入7 * * * 输入:25 * *** * 输入:699050 ** ** ** ** ** ** …
22 code-golf  number 

15
推倒一些多米诺骨牌!
感谢这个问题的启发 在这个挑战,我们将代表一行多米诺骨牌作为串|,/和\。您将获得一串多米诺骨牌作为输入,并且必须确定它们安定后的样子。这是多米诺骨牌掉落的规则 |左下降的多米诺骨牌左侧的立式多米诺骨牌\也将变为左下降的多米诺骨牌。 |正确的多米诺骨牌的立式多米诺骨牌/也将变成正确的多米诺骨牌。 如果站立的多米诺骨牌介于左\下落的/多米诺骨牌和右下落的多米诺骨牌之间,它将保持站立状态。 重复应用这些规则,直到排列不再更改。 这是单个输入如何得出结论的示例 |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| 您的任务是编写查找并输出输入最终结果的代码。您可以假定输入始终有效,并且至少包含2个字符。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

22
验证水平ASCII宠物蛇
最近出现了一些ASCII宠物蛇挑战(例如,此处) 0 0 0 0 0 000 00 0 00 000 0 0 000 0 0 0 00 0 000 这个挑战是要随机产生一条水平宠物蛇(高度为5行,长度为30),并验证: 每列只有一个 0 每个0都“连接”到它的0前后(仅以0或1行垂直间隔) 最终的输出可以是true或1如果蛇是有效的,或者false或者0如果蛇是无效的 编辑-澄清 假设输入: 是一个字符串 仅包含“”,“ 0”和“ \ n” 每行恰好有30个字符 正好有5行 即验证蛇是否已连接,并且没有杂散字符。无需验证印有蛇的“画布”。

24
采样帕累托分布
该Pareto分布是出现了很多自然的概率分布。它具有许多特殊属性,例如无穷均值。在此挑战中,您将输出从此分布中采样的数字。 对于所有大于或等于1 的Pareto分布,均被定义为大于或等于x概率。1/xx 因此,从此分布采样的数字的概率为1,大于或等于1,概率为1/2的情况下,大于或等于2;概率为1/3,大于或等于的情况下,大于或等于3 11.4的概率恰好为1 / 11.4,依此类推。 由于将对这种分布进行采样,因此程序或函数将不输入任何内容,而是输出具有上述概率的随机数。但是,如果您的程序由于浮点数印象而不能完全匹配上述概率,那就可以了。有关更多详细信息,请参见挑战的底部。 (确切地说,这称为阿尔法为1且下界为1的帕累托分布) 这是从此分布中提取的10个示例: 1.1540029602790338 52.86156818209856 3.003306506971116 1.4875532217142287 1.3604286212876546 57.5263129600285 1.3139866916055676 20.25125817471419 2.8105749663695208 1.1528212409680156 请注意,其中有5个低于2,有5个高于2。由于这是平均结果,因此当然可以更高或更低。 您的答案仅需在浮点类型,实数类型或您使用的任何其他类型的限制范围内是正确的,但您必须能够表示至少3个十进制精度的数字,并且最多可表示1,000,000个数字。如果不确定是否可以,请随时询问。 这是代码高尔夫。 有关不精确度的详细信息: 对于每个范围[a, b],1 <= a < b样本落入该范围的理想概率为1/a - 1/b。您的程序产生该范围内的数字的概率必须0.001为1/a - 1/b。如果X是程序的输出,则要求|P(a <= X <= b) - (1/a - 1/b)| < 0.001。 请注意,通过使用a=1且b足够大的上述规则,可能是您的程序必须以至少0.999的概率输出大于或等于1的数字。其余时间它可能会崩溃,输出Infinity或执行其他任何操作。 我可以肯定地说,形式为1/1-x或的现有提交(1/x其中或或x随机浮动)都满足此要求。[0, 1)(0, 1)[0, 1]

26
这是令人愉快的数字吗?
一个令人愉悦的数字(根据此定义)是可以通过以下过程传递的数字(以我们的41802000示例为例): 分隔尾随相同的数字(41802000 => [41802, 000]) 排序数字的前半部分并取最大值([41802, 000] => [8, 000]) 取最后一个元素的长度。调用结果元素A和B([8, 000] => A=8, B=3) N B = A是否代表任何整数N?(True在此示例中; 2 3 = 8) 如果输入True来自以下过程,则认为是令人满意的。 您的任务是取一个整数x,并输出是否x为令人满意的数字。您可以输出真值和假值的任意两个不同的值,但请在回答中说明您使用的是什么。x保证至少有两个不同的数字(例如111,无效的输入)。与大多数挑战一样,您可以将其x视为字符串或数字列表。 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。 测试用例 Input Output 41802000 1 100 1 123456788 0 451111111 0 234543454545444 0 12 1 41902000 0 92599 1

7
输出简化的Goodstein序列
如果数字写为,则以b-b简化的Goodstein形式表示。 b + b + ... + b + c, 0 < c ≤ b 数字的简化Goodstein序列开始于以1为底的简化Goodstein形式写数字,然后将所有1替换为2并减去1。将结果以base-2简化的Goodstein形式重写,然后将所有2替换为3并减去1 ,直到达到0。 您的程序将采用正整数输入并输出/打印其Goodstein序列并终止。您的程序应处理小于100的数字,尽管它可能不会在合理的时间内终止。 例如,给定3作为输入,您的程序应该输出(右侧只是说明) 1 + 1 + 1 | 3 = 1 + 1 + 1 2 + 2 + 1 | Change 1's to 2's, then subtract 1. (2 + 2 + 2 …

6
创建一个通用整数序列
定义 如果一个(无限)整数序列包含每个有限整数序列作为连续的子序列,让我们称其为通用。 换句话说,整数序列(a 1,a 2,…)是通用的,当且仅当对于每个有限整数序列(b 1,…,b n)有一个偏移k使得(a k + 1,…,a k + n)=(b 1,…,b n)。 例如,正质数的序列不是通用的,原因如下。 它不包含任何负整数,1或复合数字。 尽管它包含3,但不包含连续的子序列( 3,3,3 )。 尽管它包含2和5,但不包含连续的子序列(2,5)。 尽管它包含连续的子序列(7、11、13),但不包含连续的子序列(13、11、7)。 任务 选择任何单个通用整数序列(a 1,a 2 …),并按照以下规则以您选择的编程语言实现它。 您可以提交完整的程序或功能。 您有三种I / O选项: 不输入任何内容并打印或返回整个序列。 以指数ñ作为输入并打印或返回一个ñ。 以索引n作为输入并打印或返回(a 1,…,a n)。 对于I / O选项2和3,可以根据需要使用基于0的索引。 您的提交必须是确定性的:如果使用相同的输入多次运行,则必须产生相同的输出。 此外,除非立即显而易见,否则请证明您选择的顺序是通用的。您的证明可能不取决于未经证实的猜想。 适用标准代码高尔夫球规则。可能以字节为单位的最短代码获胜!

5
对称瓢虫
介绍: 当我们想到瓢虫时,通常会想到带有黑点的红色或深橙色的臭虫。尽管这不是必须的,但是由于黑色也带有红色/橙色斑点的瓢虫,或者根本没有斑点的瓢虫,因此我们主要将瓢虫描绘成类似亚洲瓢虫的东西: 要注意的另一件事是,瓢虫上的斑点几乎总是对称的。这就是挑战所在。 挑战: 给定一个整数n(>= 0),请输出以下ASCII样式的瓢虫一次或多次,并在两侧以及两个或多个瓢虫之间均匀分配对称斑点。 这是默认的瓢虫布局: _V_ /(@I@)\ / | \ | | | \ | / ''-!-'' 如果为n=0,则按原样输出上面的瓢虫。 当n大于零时,我们用小写字母填充ASCII艺术错误的空格o,或用大写字母替换|中间的O。目标是n更改“空”瓢虫,同时仍然产生对称输出(每个瓢虫),并输出尽可能少的瓢虫。 因此,有效的输出为n=1: _V_ /(@I@)\ / O \ | | | \ | / ''-!-'' _V_ /(@I@)\ / | \ | O | \ | / ''-!-'' _V_ /(@I@)\ / | …

10
类斐波那契数列中的最低初始数
给定一个正整数输入N,输出两个非负数a和b,其中a <b,具有尽可能低的平均值,这将导致数字N成为重复关系序列的一部分: f(0) = a f(1) = b f(n) = f(n-2)+f(n-1) 如果存在多个解决方案,且a和b的均值最小,则应输出具有最低b的解决方案。 您可以假设N在您的语言/系统中代表的整数范围内。 测试用例 N = 1 a = 0, b = 1 N = 15 a = 0, b = 3 N = 21 a = 0, b = 1 N = 27 a = 0, b = 9 …

30
遗漏的号码是多少(除数为9)
挑战 给定一个整数,该整数可被9整除并有一个缺失的数字,请找到缺失的数字。 缺失的数字可以用数字0-9以外的任何字符表示,只要它是一致的即可。 如果缺少的数字可能是0或9,则输出一些内容来表示。 假设用户足够聪明,只能输入一位数字和一位数字等。 测试用例 在测试用例中,缺失的数字由问号表示 123? -> 3 ?999 -> 0 or 9 ?0023 -> 4 000?1 -> 8

10
生成数字键友好的数字
受生成键盘友好数字的启发。 背景 许多数字键盘的布局如下: 789 456 123 0 我们将数字的邻域定义为在所示数字键盘上与其正交正交的一组单元格,包括其自身。例如,2的邻居是{1,5,3,0,2},0的邻居是{1,2,0}。在测试用例的上方,下面列出了每个数字的邻域。 我们将小键盘友好数字定义为正整数,其中当以十进制形式编写而没有前导零时,除第一个数字外的每个数字都位于前一个数字附近。 例如, 7856是小键盘的友好数字,因为8在7的附近,5在8的邻居中,6在5的附近。 1201是一个小键盘的友好数字,因为2在1附近,0在2附近,而1在0附近。 82 不是小键盘的友好数字,因为2不在8附近。 802 不是小键盘的友好数字,因为0不在8附近(邻居不会环绕)。 相关OEIS序列。请注意,此相关的序列是不同的,因为它计算0为邻近7的,而不是1和2。 挑战 给定正整数n,返回第- n个或第一个n数字键盘友好数字,其中第一个为1。您可以使用基于0的索引,第0个数字键盘友好数字为1。 邻里 每个数字的邻居在这里列出: 0:{0,1,2} 1:{0,1,2,4} 2:{0,1,2,3,5} 3:{2,3,6} 4:{1,4,5,7} 5:{2,4,5,6,8} 6:{3,5,6,9} 7:{4,7,8} 8:{5,7,8,9} 9:{6,8,9} 测试用例/顺序 这是前100个学期 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 20, 21, 22, …

8
我是对称的,不是回文!
背景 受到我的回文启发。你是?在这里,令人震惊的事实是“ ()()不是回文,而是())(”,我问自己是什么()(),答案很简单:它是具有垂直对称轴的字符串! 任务 编写一个程序或函数,该程序或函数将字符串S(或您的语言中适当的等效语言)作为输入,检查沿垂直轴的对称性,并相应地返回真实或虚假值。您可以使用任何合理的方式获取输入并提供输出。 反射对称 围绕垂直轴的反射对称性(或左右对称)意味着,如果将镜子垂直放置在字符串的确切中心,则字符串前半部分的反射图像与字符串后半部分相同。 例如,以下字符串围绕垂直轴反射对称: ()() ()()() [A + A] WOW ! WOW OH-AH_wx'xw_HA-HO (<<[[[T*T]]]>>) (:) )-( ())(() qpqp 而以下不是: ())( ((B)) 11 +-*+- WOW ! wow (;) qppq 比赛规则 •您的程序或函数将仅接收可打印的ASCII字符。您可以包含或不包含空字符串(当然是对称的!)作为合法输入,这对您来说更好。 •可以认为相对于垂直轴对称的ASCII字符如下(请注意初始空间以及大小写字母之间的差异): !"'+*-.:=AHIMOTUVWXY^_ovwx| 可以视为“镜像”的ASCII字符及其对应的字符为: ()<>[]{}qpbd/\ 需要注意的是,因为他们镜像,你可以同时拥有(),以及)(,/\和\/等。 所有其他ASCII可打印字符必须被认为是非对称的,并且没有镜像的对应字符。 •这是一个代码挑战:用任何编程语言,以字节为单位的程序越短,越好。 •对将产生对称程序的人表示敬意! 注意:这个问题不是“便捷回文”的重复,它需要检查回圆括号中是否翻转的回文字符串,这个问题有所不同,原因有两个: 1)对于非括号字符,这是另一个问题的限制,因为只有对称字符可以相反的顺序出现。 2)因为它基于对称性概念,而不是基于“方便回文”的概念,所以镜像字符可以同时出现,即[]和][,这使得解决该问题的程序不同于解决其他问题的程序。
22 code-golf  string 

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.