Questions tagged «integer»

对于涉及整数操作的挑战。

15
推倒一些多米诺骨牌!
感谢这个问题的启发 在这个挑战,我们将代表一行多米诺骨牌作为串|,/和\。您将获得一串多米诺骨牌作为输入,并且必须确定它们安定后的样子。这是多米诺骨牌掉落的规则 |左下降的多米诺骨牌左侧的立式多米诺骨牌\也将变为左下降的多米诺骨牌。 |正确的多米诺骨牌的立式多米诺骨牌/也将变成正确的多米诺骨牌。 如果站立的多米诺骨牌介于左\下落的/多米诺骨牌和右下落的多米诺骨牌之间,它将保持站立状态。 重复应用这些规则,直到排列不再更改。 这是单个输入如何得出结论的示例 |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| 您的任务是编写查找并输出输入最终结果的代码。您可以假定输入始终有效,并且至少包含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的索引。 您的提交必须是确定性的:如果使用相同的输入多次运行,则必须产生相同的输出。 此外,除非立即显而易见,否则请证明您选择的顺序是通用的。您的证明可能不取决于未经证实的猜想。 适用标准代码高尔夫球规则。可能以字节为单位的最短代码获胜!

28
最大素数指数
给定一个整数n >= 2,输出其素数分解中的最大指数。这是OEIS序列A051903。 例 让n = 144。其主要分解为2^4 * 3^2。最大指数是4。 测试用例 2 -> 1 3 -> 1 4 -> 2 5 -> 1 6 -> 1 7 -> 1 8 -> 3 9 -> 2 10 -> 1 11 -> 1 12 -> 2 144 -> 4 200 -> 3 500 …

13
折叠连续的整数
相关:告诉我我必须做多少数学问题! 挑战 给定一个严格正的严格递增整​​数列表L和L的长度3≤N≤的整数,用一个破折号替换L的长度≥N的连续整数游程的中间整数-。 规则 水平空格不相关。 您可以选择保留语言默认列表格式的介绍人,分隔符和终止符。请参阅下面的格式化示例。 资料范例 所有这些示例都使用L = 3 5 6 7 8 10 11 12 14 16 17 18 19 20 21 22 24。 N = 3 → 3 5 - 8 10 - 12 14 16 - 22 24 N = 4 → 3 5 - 8 …

8
等于和的产品,反之亦然
一个有趣的等价对是1 + 5 = 2·3和1·5 = 2 + 3。像这样的有很多,另外一个是1 +1 + 8 = 1·2·5和1·1·8 = 1 + 2 + 5。通常,n个正整数的乘积等于n个正整数的和,反之亦然。 在此挑战中,必须为输入n> 1生成所有这样的正整数组合(不包括置换)。您可以以任何合理的格式输出它们。例如,n = 3的所有可能解为: (2, 2, 2) (1, 1, 6) (1, 2, 3) (1, 2, 3) (1, 3, 3) (1, 1, 7) (1, 2, 5) (1, 1, 8) 该程序可以在我的2GB RAM上在一分钟内生成最高n的最大组合,因此胜出的是64位Intel …

19
犯罪现场调查:我的世界物品
我的世界1.12将于明天发布,让我们一起庆祝吧! 编写包含非负整数N的代码,该整数表示Minecraft中某物的项数。以对玩家更有用的方式输出,给定等于N的箱子,筹码和物品数量。使用格式 XcYsZi 哪里 X 是您可以完全填满N个物品的箱子数, Y 是您可以在填满箱子后剩余的物品可以堆满的堆叠数, Z 装满箱子和箱子后剩余的物品数量。 注意: 一叠可容纳64个物品。(我们将忽略堆叠为16或不堆叠的项目。) 胸部可容纳27叠。(这些是单箱,而不是双箱。) 因此,如果Y大于26或Z大于63则毫无意义。 需要注意的是,如果格式为零,则不会打印该术语。 因此,例如,如果Y为零X和Z非零,则格式将类似于XcZi。 同样,如果Y和Z为零和X非零,则格式为Xc。 这里的例外是当N为零时。然后0i是输出而不是空字符串。 您可以假设所有N个项目都是同一类型,因此都是可堆叠的。 您可能不会输出三个数字的列表或元组。您必须以正确的“ csi”符号给出一个字符串,并且该字符串不能有空格或逗号。 作为参考,这是一个完全堆满物品的箱子: 测试用例 in -> out 0 -> 0i 1 -> 1i 2 -> 2i 62 -> 62i 63 -> 63i 64 -> 1s 65 -> 1s1i 66 -> 1s2i …

4
我刚刚玩什么?将吉他指法转换为和弦
相关:音乐:这和弦里有什么?,弹奏笔记,生成吉他弹片?,将数字对转换为吉他音符 给定吉他指法,输出它代表的和弦。您可以使用标准输入和输出,也可以编写返回字符串的函数。 输入的指法将分类为以下和弦之一,表示如下(如果根音为C): 大三合会: C 小三合会: Cm (主要)第七名: C7 小七: Cm7 和弦可能颠倒了,因此您不能依靠最低音为根。您也不能依靠这是现实世界中的简单指法。更一般而言,程序的输出必须忽略音高的八度,并将与同一音符(即A)相对应的所有音高均视为相等。 这是code-golf,因此以字节为单位的最短代码获胜。 输入格式 输入是一系列由6个值组成的值,这些值针对标准调音(EADGBE)中的6弦吉他的每个弦指示将在哪个弦上弹奏。这也可能表明该字符串根本没有播放。“零”品格也称为打开位置,品格号从那里开始递增计数。假设吉他有21个品格位置,因此最高品位是20号。 例如,输入X 3 2 0 1 0意味着将一根手指放在吉他脖子顶部的以下位置: (6th) |---|---|---|---|--- |-X-|---|---|---|--- |---|---|---|---|--- |---|-X-|---|---|--- |---|---|-X-|---|--- (1st) |---|---|---|---|--- 并弹奏第二至第六弦。它对应于以下ASCII标签: e |-0-| B |-1-| G |-0-| D |-2-| A |-3-| E |---| 您可以灵活选择所需的输入类型:每个品格位置可以表示为字符串或数字。未弹奏的吉他弦通常用指示X,但-1如果您更方便(例如,使用数字),则可以选择其他前哨值。可以将6个品格位置序列输入为任何列表,数组或序列类型,单个以空格分隔的字符串或作为标准输入-再次选择。 您可以依赖与上述4种和弦类型之一对应的输入。 请在您的帖子中说明您的解决方案采用哪种输入形式。 输出格式 您必须将描述指法所用的和弦的字符串返回或打印到标准输出。此字符串由串联在一起的两个部分组成。资本化问题。允许尾随空格。 第一部分表示根音的一个A,A#/ Bb,B,C,C#/ Db,D,D#/ …

12
多项式感知
给定两个f,g整数的任意多项式的多项式,您的程序/函数应评估第二个多项式中的第一个多项式。f(g(x))(又名两个多项式的合成 (fog)(x)) 细节 允许内置。您可以假定任何合理的格式作为输入/输出,但是输入和输出格式应该匹配。例如格式化为字符串 x^2+3x+5 或作为系数列表: [1,3,5] or alternatively [5,3,1] 此外,可以假定输入多项式被完全展开,并且期望输出也被完全展开。 例子 A(x) = x^2 + 3x + 5, B(y) = y+1 A(B(y)) = (y+1)^2 + 3(y+1) + 5 = y^2 + 5y + 9 A(x) = x^6 + x^2 + 1, B(y) = y^2 - y A(B(y))= y^12 - …

30
排序整数列表
挑战 真的很简单,对数字列表进行排序。 细节 您必须按升序对数字列表进行排序,而不使用任何内置的排序函数/库/等(例如,list.sort()在Python中)。 输入/输出可以用您选择的任何方法完成,只要它是人类可读的即可。 一如既往,不允许出现标准漏洞。 以字节为单位的最短代码获胜。 您必须说明/列出您使用的排序方法(气泡,插入,选择等)。 输入将不包含重复项。 样本输入/输出 输入: 99,-2,53,4,67,55,23,43,88,-22,36,45 输出: -22,-2,4,23,36,43,45,53,55,67,88,99 注意:与“ 对数字列表排序”正好相反

29
查找最近的回文数
给定数字N,输出/返回X,使得N + X是回文,其中| X | 必须尽可能小。 回文:数字是回文,如果从左向右读取数字与从右向左读取数字的数字顺序相同。 95359并且6548456是对称的,123而2424不是。带有前导零的数字(例如)020不是回文。 输入是一个小于10 15的正整数。从stdin读取它,并将其作为方法参数。 输出必须是整数(正数或负数),并且如果输入已经是回文,则应该为0。您可以将输出写入stdout,从函数或任何您喜欢的东西返回。如果有两个数字(例如2和-2)满足要求,则仅输出其中一个。 例子: Input Output 3 0 234 -2 1299931 -10 126 5 or -5 (only one of them)

6
减去折矩阵
挑战: 给定一个NxN矩阵,其中和八个不同的“折叠选项”之一,输出带有减去值的2D数组/列表。ñ≥ 2N≥2N\geq2 八个折叠选项是:从左到右;从左到右。右到左; 从上到下; 从下到上 从左上到右下; 从右上到左下; 从左下到右上;从右下到左上。 分步示例: 输入矩阵: [[ 1, 3, 5, 7], [ 0, 8, 6, 4], [ 1, 1, 1, 1], (a'th row in the explanation below) [ 1,25, 0,75]] 使用从上到下的折叠选项,我们将输出以下结果: [[ 1,-7,-5,-3], [ 0,22,-5,68]] 为什么?我们从上到下折叠。由于矩阵尺寸是均匀的,因此我们没有中间层可以保持原样。的 “第i行将由被减去第i行”(本来 “第i行用于奇数维矩阵); 因此成为。然后,将第行减去第行(对于奇数维矩阵,将是第行);因此成为。一种aa[1, 1, 1, 1](a − 1 )(a−1)(a-1)(a …

14
主要收容编号(高尔夫球版)
这是序列A054261。 第ñnn个素数包含数是包含前素数作为子串的最小数。例如,数字是最低的数字,其中包含前3个素数作为子字符串,使其成为第3个素数包含数。ñnn235235235 这是微不足道弄清楚前四个遏制素数是,,和,但随后变得更有趣。由于下一个素数是11,所以下一个素数包含数不是,而是因为它被定义为具有该属性的最小数。222232323235235235235723572357235711235711235711112357112357112357 但是,当您超过11时,真正的挑战就来了。下一个主要收容编号为。请注意,在此数字中,子字符串和 是重叠的。该数字也与数字重叠。1132571132571132571113313 很容易证明此序列在增加,因为下一个数字需要满足该数字之前的所有条件,并且还要有一个子字符串。但是,该序列并不严格增加,如n=10和结果所示n=11。 输入项 一个整数n>0(我想您也可以将它的索引设为0,然后设为n>=0) 输出量 无论是n个素数遏制,或包含第一清单n素遏制号码。 到目前为止,我发现的数字是: 1 => 2 2 => 23 3 => 235 4 => 2357 5 => 112357 6 => 113257 7 => 1131725 8 => 113171925 9 => 1131719235 10 => 113171923295 11 => 113171923295 12 => 1131719237295 请注意,n = 10和n …

26
数字记号
给定输入n,编写一个程序或函数,输出/返回n所有基数1到2 的数字和的和n。 n+∑b=2n∑i=0∞⌊nbi⌋modbn+∑b=2n∑i=0∞⌊nbi⌋modbn + \sum_{b=2}^n \sum_{i=0}^\infty \left\lfloor \frac{n}{b^i} \right\rfloor \bmod b 例: n = 5 创建范围[1...n]:[1,2,3,4,5] 对于每个元素x,获取一个由以下x位数组成的数组n: [[1,1,1,1,1],[1,0,1],[1,2],[1,1],[1,0]] 双射碱基1的5 就是[1,1,1,1,1] is的基数2(二进制)5[1,0,1] 碱基3的5 IS[1,2] 碱基4的5 IS[1,1] 碱基5的5 IS[1,0] 对数字求和: 13 测试用例: 1 1 2 3 3 6 4 8 5 13 6 16 7 23 8 25 9 30 10 35 …

30
X向前前进,1向后退
这里是一个简单序列的前100个数字: 0,1,0,2,1,4,3,7,6,11,10,16,15,22,21,29,28,37,36,46,45,56,55,67,66,79,78,92,91,106,105,121,120,137,136,154,153,172,171,191,190,211,210,232,231,254,253,277,276,301,300,326,325,352,351,379,378,407,406,436,435,466,465,497,496,529,528,562,561,596,595,631,630,667,666,704,703,742,741,781,780,821,820,862,861,904,903,947,946,991,990,1036,1035,1082,1081,1129,1128,1177,1176,1226 这个序列如何运作? n: 0 1 2 3 4 5 6 7 8 9 10 11 12 0, 1-1=0, 2-1=1, 4-1=3, 7-1=6, 11-1=10, 16-1=15, 0+1=1, 0+2=2, 1+3=4, 3+4=7, 6+5=11, 10+6=16, 15+7=22 a(0) = 0 对于每个奇数n(0索引),它都是a(n-1) + X(X=1每次访问时在1 处加1) 对于每个偶数n(0索引),a(n-1) - 1 挑战: 之一: 给定输入整数n,输出n序列中的'th号。 给定输入整数n,输出n序列的第一个数字。 无限期地输出序列,而无需输入(或获取空的未使用输入)。 挑战规则: 输入n可以是0或1的索引。 如果输出序列(的一部分),则可以使用列表/数组,并使用任何定界符(空格,逗号,换行符等)打印到STDOUT。你的来电。 请说明您在答案中使用的三个选项中的哪个。 …

16
间隔符号
挑战: 输入: 两个整数参数a和b(其中a<b和至少相差2) 输出: 输出或返回此文本,a并b在其中填写: (a,b) = ]a,b[ = {a<x<b} = {a<x&&x<b} = a+1..b-1 [a,b) = [a,b[ = {a<=x<b} = {a<=x&&x<b} = a..b-1 (a,b] = ]a,b] = {a<x<=b} = {a<x&&x<=b} = a+1..b [a,b] = [a,b] = {a<=x<=b} = {a<=x&&x<=b} = a..b 挑战规则: I / O是灵活的。可以打印到STDOUT,以字符串/字符数组等形式返回。可以以两个整数,十进制数和字符串形式输入(不知道为什么,因为您需要计算a+1and b-1,但是请成为我的客人。),等等。 允许任何数量的前导和/或尾随新行,并且允许每行任何数量的尾随和/或前导空格。 等号(包括在同一列中对齐的空格)是必需的,其他字符之间不允许有空格。 a+1b-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.