Questions tagged «math»

挑战涉及数学。还可以考虑使用更具体的标签:[数字] [数字理论] [算术] [组合] [图形理论] [几何] [抽象代数]。

22
计算特定值的多项式的第n个迭代;fⁿ(x)
给定一个多项式函数f(例如,作为实数系数的列表p升序或降序),一个非负整数n和一个实数值x,返回: f n(x) 即值˚F(˚F(˚F(... ˚F(X)...))),用于Ñ的应用˚F上X。 使用合理的精度和舍入。 将f作为系数列表的解决方案可能是最有趣的,但是如果您能够将f作为实际函数(从而将此挑战减少为琐碎的“ n次应用函数”),请随时添加非平凡的解决方案之后。 案例案例 p = [1,0,0]或f = x^2, n = 0, x = 3: f 0(3)=3 p = [1,0,0]或f = x^2, n = 1, x = 3: f 1(3)=9 p = [0.1,-2.3,-4]或f = 0.1x^2-2.3x-4, n = 0, x = 2.3: f 0(2.3)=2.3 p = …

30
充分利用两个阵列
您将获得两个浮点数数组。您的任务是将两个数组的相应元素配对,并获取每对的最大值。但是,如果两个对应的元素相等,则必须取它们的总和。 例如,给定列表[1, 3, 3.2, 2.3]和[3, 1, 3.2, 2.6],您必须执行以下操作: 一对元件(或zip): [[1, 3], [3, 1], [3.2, 3.2], [2.3, 2.6]]。 仔细检查每一对并应用上述过程:[3, 3, 6.4, 2.6]。 眼镜 数组/列表将始终具有相等的长度。但是,它们可能是空的。 只要您不滥用这些数字,它们所包含的数字将始终适合您的语言能力。它们可能是正数,零或负数,您必须处理所有类型。 如果它有助于减少字节数,则也可以将列表的长度作为输入。 规则 这是代码高尔夫球,因此最短答案以字节为单位。 标准输入和输出规则适用。您可以采用任何合理的格式输入(和输出)。 默认漏洞是禁止的。 测试用例 Array_1,Array_2->输出 [],[]-> [] [1、2、3],[1、3、2]-> [2、3、3] [1、3、3.2、2.3],[3、1、3.2、2.6]-> [3、3、6.4、2.6] [1,2,3,4,5,5,7,8,9,10],[10,9,8,7,6,5,4,3,2,1]-> [10,9, 8、7、6、10、7、8、9、10] [-3.2,-3.2,-2.4,7,-10.1],[100,-3.2,2.4,-7,-10.1]-> [100,-6.4,2.4,7,-20.2]

30
与数字根相反!
也称为[模拟根] (与数字根相反!);) 数字的数字根是数字的连续求和,直到成为单个数字为止,例如,计算89456的数字根是这样的: 8 + 9 + 4 + 5 + 6 = 32 3 + 2 = 5 89456的数字根为5。 给定一个数字作为通过STDIN的输入,请打印/返回具有该数字根的所有可能的两个数字。如果需要,它可以包含自身,例如05 这些是所有可能的输入和输出: (您可以选择是否为数字本身包括前导零) 输入输出 0 => 0或00或全无 1 => 01和/或1、10、19、28、37、46、55、64、73、82、91-确保1不返回100 2 => 02和/或2、11、20、29、38、47、56、65、74、83、92 3 => 03和/或3、12、21、30、39、48、57、66、75、84、93 4 => 04和/或4,13,22,31,40,49,58,67,76,85,94 5 => 05和/或5、14、23、32、41、50、59、68、77、86、95 6 => 06和/或6、15、24、33、42、51、60、69、78、87、96 7 => 07和/或7、16、25、34、43、52、61、70、79、88、97 8 => …

20
对角线求和
以正整数矩阵为输入,并通过矩阵输出对角线上的元素的各个和。 您只能计算对角线向下和向右的线。您必须从仅包含左下角元素的对角线开始,然后从其上方的长度为2的对角线开始(如果存在),依此类推,直到仅包含右上角元素的对角线,如下所示。 例: Input: 8 14 5 1 10 5 5 8 6 6 8 10 15 15 4 11 Output: 15, 21, 20, 32, 29, 13, 1 (Diagonals: {{15},{6,15},{10,6,4},{8,5,8,11},{14,5,10},{5,8},{1}}) Input: 1 Output: 1 Input: 1 5 Output: 1, 5 Input: 4 1 Output: 1, 4 Input: 17 4 5 …
19 code-golf  math  matrix 

6
矛盾多义
好吧,每个人都喜欢Polyglots。您将获得两个整数,采用任何标准输入形式(无需硬编码)。您的任务是编写一个多语言,该语言可以找到一种语言的最小值和另一种语言的两个数字之间的最大值,并执行以下操作: 找到最大值的代码也必须计算它们的总和。 找到最小值的程序还必须计算其减法(max - min)的结果 这是“棘手的部分”:如果两个数字相等,则两个程序都不得输出/返回任何内容( STDOUT和和STDERR或任何其他return方法) 有关格式的更多详细信息,请参见“ 输出规格”部分 输入项 如上所述,在任何一种标准方法中,两种语言都将两个整数用作输入。 输出规格 对于找到的程序max,格式应为:max_value, addition result 对于找到的程序min,格式应为min_value, subtraction result (max - min) 结果可以打印,与任何明确的分隔符(,\n,,或其他任何你想要的),从功能包含用分隔符或数字列表的两项预期值的字符串返回(如:[max_value,sum]) 例子: Input || Max Language Output || Min Language Output 100, 40 || 100, 140 || 40, 60 63, 67 || 67, 130 || 63, 4 -45, -5 …

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

5
项链劈开问题
背景 我受到3Blue1Brown最近关于项链劈裂问题(或他所说的是被盗的项链问题)及其与Borsuk-Ulam定理的关系的视频的启发。 在这个问题上,两个小偷偷走了一条有价值的项链,该项链由几种不同类型的珠宝组成。每种珠宝的数量都是偶数,盗贼希望在两种珠宝中平均分配每种珠宝。要注意的是,他们必须这样做,方法是将项链分成若干个连续的片段,并将片段分配在两个片段之间。 这里是表示4种宝石类型的示例S,E,D,和R(对于蓝宝石,祖母绿,金刚石和红宝石,分别地)。假设项链如下: [S,S,S,E,S,D,E,R,S,R,E,S,S,S,D,R,E,E,R,E,D,E,R,R,D,E,E,E] 有8蓝宝石,10祖母绿,4钻石和6红宝石。我们可以如下分割项链: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] 然后,如果我们将第一,第三和第五部分分配给一个小偷,而将第二和第四部分分配给另一个小偷,则每一个都会以4蓝宝石,5祖母绿,2钻石和3红宝石: [S], [S,E,S,D,E,R,S], [R,R,D,E,E,E] [S], [R,E,S,S,S,D,R,E,E,R,E,D,E], 使用 0 -indexing,这些削减发生在index处[1,2,9,22]。 目标 事实证明,这样的公平划分总是可以使用最多 n切割,这n是珠宝类型的数量。您的任务是编写一个完整的程序或函数,该程序或函数将一条项链作为输入,并输出最小的此类分割(最少的切割次数)。 输入项 输入可以采用任何方便的格式。项链应该是一系列珠宝,仅此而已;例如整数列表,字典,字典中的键代表珠宝类型,而值代表索引列表。您可以选择包括项链的长度或不同珠宝类型的数量,但您不应输入任何其他信息。 您可以假设输入的项链有效。您无需处理给定类型的珠宝数量奇数或项链为空的情况。 输出量 同样,输出可以采用任何方便的格式。例如,片段列表,切割位置列表,带有表示两个小偷的键的字典以及片段列表的值等。片段可以通过其起始索引,结束索引,连续索引列表,珠宝列表,它们的长度等。您可以使用0-或1-索引。如果顺序对您的格式不重要,则您的输出可以按任何顺序排列。以下是上述输出的几种不同格式: list of segments: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] list of cuts: [1,2,9,22] list of lengths: [1,1,7,13,6] dictionary: {'thief1' : [(R,R,D,E,E,E),(S),(S,E,S,D,E,R,S)], 'thief2' : [(S),(R,E,S,S,S,D,R,E,E,R,E,D,E)]} 请注意,顺序在片段列表(小偷之间的片段交替)和长度列表(以识别片段)中很重要,但在剪切片段或字典中则不重要。 编辑:格雷格·马丁(Greg Martin)指出,这些将不是有效的输出,因为可以通过两次削减获得公平的划分 测试用例 [1,2,1,2,1,3,1,3,3,2,2,3] -> [[1,2,1],[2,1,3,1],[3,3,2],[2,3]] …

22
建立字母金字塔
今天,我们要用字母建造一座金字塔!这是前5个字母的示例字母金字塔: 在前5个字母之间写下一个空格,先升后降。 A B C D E D C B A 对上面一行的前四个字母执行相同的操作,但是要有两个额外的前导空格: A B C D C B A A B C D E D C B A 重复相同的步骤,直到最后一行只是'A' A A B A A B C B A A B C D C B A A B C D E …

30
多少整数包含特定范围内的数字
程序应输入数字,范围的起点和范围的终点,并输出该数字在范围的起点和终点之间(包括两端)显示多少个整数。程序和功能都被允许。 输入示例 例如: //Input example 1 3,1,100 //Input example 2 3 1 100 //Input example 3 3 1 100 //Input example 4 a(3, 1, 100); 以上所有四个输入示例均有效,并且所有这些示例均表示3所讨论的数字,1范围的开头和范围100的结尾。 然后程序应输出3从1到100 包含在内的次数。3出现在整数3,13,23,30,31,32,33,...,93在总共19次。因此程序应将输出19作为输出,因为这是3从1到的范围出现了多少次100。 规则 程序和功能都被允许。 所有数字都是整数,表示不会有floats或doubles。 注意:搜寻的号码将始终在范围内0≤x≤127。在任何情况下都不会超出此0≤x≤127范围。 与第一个示例一样,情况为33,该数字3将被视为仅出现一次,而不是两次。 范围的开始和结束的值将介于-65536和之间65535。 范围起点的值永远不会超过或等于范围终点。 start < end 范围也包括在内。例如,如果输入为8 8 10,则范围为8≤x≤10,因此输出为1。 可以采用示例中显示的任何方式进行输入。您可以按照任何希望的方式将输入作为字符串或数字。 测试用例 3 1 100 19 3 3 93 …

14
离散卷积或多项式乘法
给定两个非空的整数列表,您的提交应计算并返回二者的离散卷积。有趣的是,如果您将列表元素视为多项式的系数,则两个列表的卷积代表两个多项式的乘积的系数。 定义 给定列表A=[a(0),a(1),a(2),...,a(n)]和B=[b(0),b(1),b(2),...,b(m)](设置a(k)=0 for k<0 and k>n和b(k)=0 for k<0 and k>m),则两者的卷积被定义为A*B=[c(0),c(1),...,c(m+n)]其中c(k) = sum [ a(x)*b(y) for all integers x y such that x+y=k] 规则 允许使用适用于您的语言的任何方便的输入和输出格式。 不允许使用内置的卷积,创建卷积矩阵,相关性和多项式乘法。 例子 [1,1]*[1] = [1,1] [1,1]*[1,1] = [1,2,1] [1,1]*[1,2,1] = [1,3,3,1] [1,1]*[1,3,3,1] = [1,4,6,4,1] [1,1]*[1,4,6,4,1] = [1,5,10,10,5,1] [1,-1]*[1,1,1,1,1] = [1,0,0,0,0,-1] [80085,1337]*[-24319,406] = [-1947587115,7,542822]

13
迷彩变色变色龙挑战
变色龙的挑战显然是一件坏事。太糟糕了,变色龙是美丽的生物。改变的时候了! 众所周知,许多变色龙具有通过改变肤色来与周围环境融为一体的卓越能力。这也是这一挑战的目标。 挑战 想象一个九像素的正方形。周围有八个像素。中心是变色龙。 像这样: 变色龙自然地试图与周围环境融为一体。它通过将其颜色更改为周围像素的平均颜色来实现。因此,在这种情况下,变色龙会将其颜色更改为。 目的 给定周围像素的颜色,输出​​变色龙的颜色。 变色龙的颜色定义为像素中所有红色,绿色和蓝色的总和÷8。 输入项 八个周围像素的颜色值的数组,从左上角开始,然后按顺时针方向继续,如下所示: [[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>]] 您可以选择以其他形式接收输入,只要它包含八个三进制的十进制数字0-255。 如果您收到其他形式的输入,则数字的长度必须一致,或者之间必须有非数字分隔符。三元组必须有一个分隔字符,除非将其0填充为9位数字。(例如044200255044200255044200255044200255044200255044200255044200255044200255,有效,44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255and和都是有效的,44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255但4420025544200255442002554420025544200255442002554420025544200255不是。) 输出量 包含中心像素颜色(十进制)的数组/字符串/等,如下所示: [<red>,<green>,<blue>] 如果输出的不是数组,则数字必须是一致的长度,或者数字之间必须有非数字分隔符。(例如044200255,有效,44 200 255但44200255无效)。 数字可能不包含小数点,因此例如44.0 200 255.0无效。 四舍五入 输出必须四舍五入到最接近的整数。(一半必须四舍五入。)例如,如果所有红色的总和为1620,则必须输出203,而不是202或202.5。 例子 图片仅供参考。中间像素是输出,周围像素是输入。 …

7
产生Gijswijt序列的n位数字
介绍 Gijswijt的序列(A090822)确实非常慢。为了显示: 前三个出现在第9个学期中(好的)。 前4个出现在第220届(距离很远,但可行)。 前5个出现在(大约)第10 ^(10 ^ 23)个词上(只是否)。 没有人真正知道前6个在哪里...怀疑它在... 第2 ^(2 ^(3 ^(4 ^ 5)))个项。 您可以假定您不必处理两位数的数字。 该序列是这样生成的: 第一项是1。 此后的每个术语是在其之前的重复“块”的数量(如果存在多个重复的“块”,则使用最大数量的重复块)。 为了澄清,这是前几个术语。 1 -> 1, 1(一个重复的块(1),所以记录的数字是1) 1, 1 -> 1, 1, 2(两个重复的块(1),所以记录的数字是2) 1, 1, 2 -> 1, 1, 2, 1(一个重复的块(2或1, 1, 2),因此记录的数字是1) 1, 1, 2, 1 -> 1, 1, 2, 1, 1 …

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

15
超立方体元素
编写一个函数或程序,输出一个N维超立方体的每种类型的元素(顶点,边,面等)的数量。 例如,三维立方体具有1个像元(即1个3维立方体),6个面(即6个2维立方体),12个边(即12个2维立方体)和8个顶点(即8个0维)立方体)。 有关Hypercube元素的更多详细信息,请参见此处 您还可以查看以下OEIS序列。 输入项 您的代码将采用大于或等于0的整数作为输入(通过STDIN或函数参数或类似的东西),它是超多维数据集的维。 从理论上讲,您的代码必须对大于等于0的任何输入都起作用,而不考虑内存和时间问题(即,如果输入很大,速度和潜在的堆栈溢出对于您的答案来说就不是问题)。作为测试用例提供的输入将不超过12。 输出量 您将输出从“最高维度”元素开始的超立方体的所有元素的列表。例如,对于一个立方体(输入= 3),您将输出列表[1,6,12,8](1个像元,6个面,12个边,8个顶点)。 输出中列表的格式相对自由,只要看起来像列表即可。 您可以将结果输出到STDOUT或从函数返回。 测试用例 Input = 0 Output = [1] Input = 1 Output = [1,2] Input = 3 Output = [1,6,12,8] Input = 10 Output = [1, 20, 180, 960, 3360, 8064, 13440, 15360, 11520, 5120, 1024] Input = 12 …

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.