Questions tagged «math»

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

14
变相的排列
给定一个nnn维向量vvv与真正的条目,找到最接近的置换ppp的(1,2,...,n)(1,2,...,n)(1,2,...,n)相对于所述l1l1l_1 -distance。 细节 如果是更方便,你可以使用置换(0,1,...,n−1)(0,1,...,n−1)(0,1,...,n-1)代替。如果存在多个最接近的排列,则可以输出任何一个或全部替换。 两个向量u ,v之间的l1l1l_1距离定义为d (u ,v )= ∑ i | u i − v i | 。u,vu,vu,vd(u,v)=∑i|ui−vi|.d(u,v)=∑i|ui−vi|.d(u,v) = \sum_i \vert u_i-v_i\vert. 如果需要,可以假定输入仅由整数组成。 例子 [0.5 1] -> [1 2], [2 1] c*[1 1 ... 1] -> any permutation [1 4 2 6 2] -> [1 4 3 5 2], …

19
近似点数
该赏金过期5天。这个问题的答案有资格获得+100声望奖励。 Adám希望奖励现有答案: 这个解释清楚的答案是APL中的第一个答案,因此有资格获得此赏金。 的蒂数是余弦函数的固定点,或溶液等式COS(X)= X。1个 您的任务是制作近似于该常数的代码。您的代码应代表一个接受整数作为输入并输出实数的函数。随着输入的增加,功能的极限应为Dottie数。 您可以输出数字的分数,小数或代数形式。您的输出应该能够任意精确,浮点和双精度不足以应对这一挑战。如果您的语言不支持任意精度数字,则必须实现它们或选择一种新的语言。 这是一个代码问题,因此答案将以字节计分,而字节越少越好。 提示 一种计算常数的方法是取任意数字并对其重复应用余弦。随着应用次数趋于无穷大,结果趋向于余弦的固定点。 这是一个相当准确的数字近似值。 0.739085133215161 1:在这里我们将以弧度表示余弦

11
生成Steenrod代数的基础元素
Steenrod代数是在代数拓扑中出现的重要代数。Steenrod代数由称为“ Steenrod平方”的算子生成,每个正整数i存在一个。Steenrod代数在平方运算中有一个由“可允许的单项式”组成的基础。建立这个基础是我们的目标。 正整数的序列被称为受理如果每个整数是至少下一个的两倍。因此,例如[7,2,1]是受理,因为7 ≥ 2 * 27≥2∗27 \geq 2*2和2 ≥ 2 * 12≥2∗1个2 \geq 2*1。另一方面,[3,2]由于3 &lt; 2 * 23&lt;2∗23 < 2*2,因此是不可接受的。(在拓扑中,我们将为序列写小号q7小号q2小号q1个小号q7小号q2小号q1个\mathrm{Sq}^7 \mathrm{Sq}^2\mathrm{Sq}^1[7,2,1])。 序列的程度是其条目的总数。因此,例如,度数[7,2,1]为7+2+1=107+2+1=107 + 2 + 1 = 10。所述过量的容许序列的是第一个元素减去总的剩余元素,所以[7,2,1]有过量的7−2−1=47−2−1=47 - 2 - 1 = 4。 任务 编写一个程序,该程序接受一对正整数,(d,e)并输出所有d小于或等于的度和超出的所有允许序列的集合e。输出是一个集合,因此允许序列的顺序无关紧要。 例子: Input: 3,1 Output: [[2,1]] 在这里,我们正在寻找总数为3的可允许序列。有两个选项,[3]和[2,1]。([1,1,1]且[1,2]总和为3,但不可接受)。过量的[3]是3和过量的[2,1]是2−1=12−1=12-1 = 1。因此,用过量的唯一序列≤1≤1\leq1是[2,1]。 Input: 6, 6 Output: [[6], …

1
排列,使得没有k + 2点落在任何次数为k的多项式上
描述 如果没有点集(以及它们的索引)落在次数的多项式上,则将整数的置换{1, 2, ..., n}称为最小可插值。那是,k+2k 没有两点落在一条水平线上(0度多项式) 线上没有三个点(一阶多项式) 抛物线(2次多项式)上没有四个点 等等。 挑战 编写一个程序,计算OEIS序列A301802(n),它的最小可插值置换的{1, 2, ..., n}数量应n尽可能大。 计分 我将在输入增加的情况下在计算机(2.3 GHz Intel Core i5,8 GB RAM)上计时您的代码。您的分数将是最大的输入,只需不到1分钟即可输出正确的值。 例 例如,排列[1, 2, 4, 3]是最小可插值的,因为 the terms together with their indices [(1, 1), (2, 2), (3, 4), (4, 3)] have the property that (0) No two points have …

2
逻辑门的格里曼德
多数函数是一个布尔函数,它接受三个布尔输入并返回最常用的。例如,如果maj(x,y,z)是多数功能并T表示true和Ffalse,则: maj(T,T,T) = T maj(T,T,F) = T maj(T,F,F) = F maj(F,F,F) = F 这个问题涉及将布尔函数编写为多数函数的组合。多数函数的5元组成的示例是(x1,x2,x3,x4,x5) =&gt; maj(x1,x2,maj(x3,x4,x5))。此函数在这些样本输入向量上返回以下输出: (T,T,F,F,F) =&gt; maj(T,T,maj(F,F,F)) = maj(T,T,F) = T (T,F,T,T,F) =&gt; maj(T,F,maj(T,T,F)) = maj(T,F,T) = T (T,F,T,F,F) =&gt; maj(T,F,maj(T,F,F)) = maj(T,F,F) = F (F,F,F,T,T) =&gt; maj(F,F,maj(F,T,T)) = maj(F,F,T) = F 任务 编写一个程序,该程序输入一个正整数n和一个长度为n的布尔向量列表,并输出一个多数门树,如果可能,则在所有给定向量上返回true。该函数可能会在约束列表之外的向量上返回true或false。 向量列表可以按您喜欢的任何格式输入。如果愿意,可以输入向量中真实位置的列表,而不输入向量。因此,例如[TTF,TFT,FTT]or [[T,T,F],[T,F,T],[F,T,T]]或[[1,2],[1,3],[2,3]](真实职位列表)都很好。 输出可以是任何有效的树格式。例如,maj(maj(x1,x2,x3),x4,x5)作品。您可能想要使用单个数字作为变量的替代品,如中所述[[1,2,3],4,5]。例如,反向抛光123m45m也可以。 如果没有起作用的函数,则您的程序应生成错误或输出错误值。 …

7
排队我们的分解
在这个挑战中,我将要求您找到方矩阵的QR分解。矩阵A的QR分解是两个矩阵Q和R,因此A = QR。特别地,我们正在寻找Q为正交矩阵(即Q T Q = QQ T = I,其中I为乘法恒等式,T为转置),R为上三角矩阵(每个值小于其对角线必须为零)。 您将编写通过任何合理方法采用方矩阵并通过任何方法输出QR分解的代码。许多矩阵都有多个QR分解,但是您只需要输出一个即可。 对于矩阵中的每个条目,所得矩阵的元素应在实际答案的小数点后两位内。 这是一场代码高尔夫比赛,因此答案将以字节计分,而字节数越少越好。 测试用例 这些只是可能的输出,只要它们是有效的,您的输出就不必全部匹配。 0 0 0 1 0 0 0 0 0 0 0 0 -&gt; 0 1 0 0 0 0 0 0 0 0 0 1 , 0 0 0 1 0 0 1 0 0 …

5
析因阶乘
今天在我的统计课上,我发现将某些阶乘相乘时可以简化!例如:5! * 3! = 5! *3*2 = 5! *6 = 6! 你的工作: 给定仅包含阿拉伯数字和感叹号的字符串,请将我的阶乘简化为最短的字符串,以最少的字节数表示您的语言,即高尔夫风格。 输入值 仅包含阿拉伯数字和感叹号的字符串。输入的阶乘不大于200!。每个数字的阶乘不得超过一个。输入可以视为整数列表。 输出量 可能是缩短的字符串,其输入值相等。顺序不重要。阶乘符号是必须的,但是您不需要每个数字使用一个以上的阶乘符号。 测试用例 In: 3!2!2! Out: 4! In 2!3!2!0! Out: 4! In: 7!2!2!7!2!2!2!2! Out: 8!8! In: 23!3!2!2! Out: 24! Also: 4!! In: 23!3!2!2!2! Out: 24!2! In: 127!2!2!2!2!2!2!2! Out: 128! In: 32!56!29!128! Out: 29!32!56!128! 祝你好运

8
尽可能邪恶
介绍 这是此挑战的后续活动,在此过程中,您将扮演那个人的邪恶双胞胎角色。邪恶时,您不想最大化自己的份额,而希望尽可能地不公平,并且不会太明显,这就是为什么您提出以下方案的原因: 您将告诉其他人,您希望自己像兄弟姐妹一样公平,因此您将把整数分成相等长度的片段。因此,对于每个整数,您都会想出合适的人数,以使最大和最小的部分之间的差异最大。 例如,如果给定整数6567,则可以将其保留为原样,将其分为两部分65,67或四部分6,5,6,7。这为您带来以下最大差异: 6567 -&gt; max() = 0 65,67 -&gt; max(|65-67|) = 2 6,5,6,7 -&gt; max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2 由于您只想做恶人,所以您不喜欢67它7,因此您将输出2或4。 另一个(不太特殊的情况);给定整数,121131您可以像这样拆分它: 121131 -&gt; max() = 0 121,131 -&gt; max(|121-131|) = 10 12,11,31 -&gt; max(|12-11|,|12-31|,|11-31|) = 20 1,2,1,1,3,1 -&gt; max(…) = 2 这次只有一个解决方案-即3-由于三个人的差异最大。 挑战 给定一个整数,确定最大程度地邪恶的任何可能方式,并报告实现此目标所需的人数。 规则 输入将始终≥1 输入可以是整数,数字列表或字符串 您不必处理无效的输入 测试用例 您只需要报告所需的结果人数,可能的分区仅用于说明: …

23
范围取整数的序列
考虑一个三角形,其中Ñ个行(1-索引)是第一阵列Ñ的正整数幂Ñ。这是前几行: N | 三角形 1 | 1个 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25 125 625 3125 ... 现在,如果将这些能力合并为一个序列,我们将获得OEIS A075363: 1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, …

30
挑战之三:移动平均线
注意:这是一系列阵列操作挑战中的第3条。对于上一个挑战,请单击此处。 列表的移动平均值 列表的移动平均值是通过对原始重叠的小子列表进行平均而得出的新的平滑列表。 在创建移动平均线时,我们首先使用一定的“窗口大小”生成重叠子列表的列表,每次将此窗口向右移一次。 例如,给定列表[8, 4, 6, 2, 2, 4]和窗口大小3,子列表将是: [8, 4, 6, 2, 2, 4] Sublists: ( ) &lt;- [8, 4, 6] ( ) &lt;- [4, 6, 2] ( ) &lt;- [6, 2, 2] ( ) &lt;- [2, 2, 4] 然后,我们计算每个子列表的平均平均值以获得结果:([6.0, 4.0, 3.3, 2.7]每个值四舍五入到小数点后一位)。 挑战 你的任务是写一个程序或其中,给定一个列表功能大号和整数1个≤N≤长度(L) ,计算移动平均为大号使用窗口大小Ñ。 规则: 您的程序可能使用整数除法或浮点除法。对于浮点除法,只要值是正确的,就可以允许由于数据类型的限制而产生的小误差。 …

16
我有几个分区?
正整数的分区号定义为可将其表示为正整数之和的方式数。换句话说,它具有整数分区的数量。例如,数字4具有以下分区: [[1,1,1,1],[1,1,2],[1,3],[2,2],[4]] 因此,它具有5分区。这是OEIS A000041。 任务 给定正整数N,确定其分区号。 所有标准规则均适用。 输入和输出可以通过任何合理的方式进行处理。 这是code-golf,因此以字节为单位的最短代码获胜。 测试用例 输入| 输出量 1 | 1个 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

24
对串联三角形的行求和
考虑下面的三角形。 1个 23 456 7891 01112 131415 1617181 92021222 324252627 2829303132 33343536373 839404142434 4454647484950 51525354555657 585960616263646 5666768697071727 37475767778798081 您可能已经注意到,第一行的长度为1,此后的每一行都比前一行长1位,并且它包含连接的正整数的数字。 您将得到一个整数ñ。您的任务是找到位于上述三角形的第N行上的数字的总和。 规则 您可以选择0或1索引。请在您的答案中指定。 默认漏洞适用。 您可以采用任何标准均值和任何合理格式来接受输入并提供输出。 这是OEIS A066548,此序列是三角形本身(除了我们不删除前导零)。 这是code-golf,所以以字节为单位(每种语言)的最短代码获胜。打高尔夫球吧! 测试用例 Input | Output 0 | 1 1 | 5 2 | 15 3 | 25 4 | 5 5 | 15 6 …

11
求反正切之和的正切
背景 可以证明,对于任何整数k &gt;= 0,f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))都是有理数。 目标 编写一个完整的程序或函数,如果给定k &gt;= 0,f(k)则将其输出为单个减少的分数(分子和分母为互质数)。 测试用例 前几个值是 f(0) = (0,1) f(1) = (1,1) f(2) = (-3,1) f(3) = (0,1) f(4) = (4,1) f(5) = (-9,19) f(6) = (105,73) 规则 禁止出现标准漏洞。 输入和输出可以采用任何方便的格式。您可以将其输出f(k)为字符串numerator/denominator,两个整数的元组,分数或有理对象等。如果输出字符串,则仅提供两个整数,即输出3/2而不是1 1/2。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。

9
制作无限链
让我们定义一类功能。这些函数将从正整数映射到正整数,并且必须满足以下要求: 该函数必须是双射的,这意味着每个值都映射到一个值,并被一个值恰好映射到。 您必须能够通过重复应用该函数或其反函数来从任何正整数到任何其他正整数。 现在,编写一些代码,在其输入上执行该类中的任何一个功能。 这是一个代码问题,因此答案将以字节计分,字节越少越好。
16 code-golf  math  number 

7
多少个分区仅包含完美正方形?
给定一个非负整数或一列数字,请通过将可能有前导零的平方数级联来确定以几种方式形成数字。 例子 input -&gt; output # explanation 164 -&gt; 2 # [16, 4], [1, 64] 101 -&gt; 2 # [1, 01], [1, 0, 1] 100 -&gt; 3 # [100], [1, 00], [1, 0, 0] 1 -&gt; 1 # [1] 0 -&gt; 1 # [0] 164900 -&gt; 9 # [1, 64, …

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.