Questions tagged «math»

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

4
平方根的数字和的连续分数
介绍 您的任务是在2的平方根和3的平方根的按位和的连续分数表示中生成前1000个项。 换句话说,准确产生以下列表(但输出格式灵活) [2, 6, 1, 5, 7, 2, 4, 4, 1, 11, 68, 17, 1, 19, 5, 6, 1, 5, 3, 2, 1, 2, 3, 21, 1, 2, 1, 2, 2, 9, 8, 1, 1, 1, 1, 6, 2, 1, 4, 1, 1, 2, 3, 7, 1, 4, 1, …

2
网格中最大的正方形[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 挑战 给定这样的网格 1 2 3 4 5 6 7 8 1 . . . . . . . . 2 . # . . . # . . 3 . . . . . . . . 4 . . . . …

8
从构成完美正方形的序列中收集
给定序列OEIS A033581,它是无限序列,则第n个项(0索引)由封闭形式公式6×n 2给出。 您的任务是编写代码,该代码将输出序列中N个第一个数字集合的所有子集,以使子集的总和为一个完美的平方。 规则 N给出整数作为输入。 您不能重复使用已在总和中使用的数字。(也就是说,每个数字最多可以出现在每个子集中一次) 使用的数字可以是非连续的。 以最小的代码获胜。 例 给定的顺序为{0,6,24,54,96,...,15000} 所需的子集之一将是{6,24,294},因为 6+24+294 = 324 = 18^2 您需要找到给定范围内所有可能长度的所有此类集合。

3
使用质数形成列表
您已获得N堆硬币。您已决定将B 1,B 2,...,B N堆中的每堆划分为不同的人群。接收硬币的人数必须是质数,并且每一堆中分配给每个人的金额必须不同。 输入:N,B 1,B 2,...,B N(每堆硬币的数量)。 输出:NP 1,NP 2,...,NP N,其中NP是接收硬币的人数(素数)。如果这是不可能的,然后产生一些无法实现的结果(如0,-1,None,[],或"impossible"),或引发错误。 例: 3 7 8 9 输出: 7 2 3 因为7是唯一可以将7平均除的质数,所以8和2以及9和3也是相同的。此外,请注意(7/7 = 1)≠(8/2 = 4)≠(9/3 = 3 )。

17
近似我的平方
受到tecmath 这段视频的启发。 x通过取整数平方根s(即使得的最大整数s * s ≤ x)然后计算,可以找到任意数量的平方根的近似值s + (x - s^2) / (2 * s)。让我们称之为近似值S(x)。(注意:这等效于应用牛顿-拉夫森方法的一个步骤)。 尽管这确实有些古怪,但S(n ^ 2-1-)始终为√(n ^ 2),但通常它是非常准确的。在某些较大的情况下,这可以具有> 99.99%的精度。 输入输出 您将采用任何方便的格式输入一个数字。 例子 格式:输入->输出 2 -> 1.50 5 -> 2.25 15 -> 4.00 19 -> 4.37 // actually 4.37 + 1/200 27 -> 5.20 39 -> 6.25 47 -> …

22
复数的指数
给定两个整数,其可以是负,零或正数,a和b(采取任何合理的格式,包括输入一个普通的复数),将其转换为a + bi其中i是虚数(负一的平方根)。然后,将其提高到第三个(正整数)输入变量的幂,c以。然后,您应该得到类似的结果。然后,必须输出,或返回,并在任何合理的格式(包括输出一普通复数)。(a + bi)cd + eide 输入和输出可以以任何顺序进行或输出。 例子: 5, 2, 2 -> 21, 20 1, 4, 2 -> -15, 8 -5, 0, 1 -> -5, 0

15
创建一个移位器
要“转移”多个n位置,请执行以下操作: 删除最后一位n数字 n将第一个数字的副本添加到数字的开头 例如,要将数字移31415三位,请取出最后三位数字以获得31,然后再将最后一位数字的三份添加3到末尾,给出33331。 如果数字为负数,则应从左数起取数字,而第一个数字应从右数“填充”。例如,将字符串31415移至-3个位置可得到15555。 如果数字为0,则不应进行任何更改。 如果移位大于程序长度,则可能会开始删除所填充的数字。这意味着,如果给定的数字大于字符串的长度,则在整个字符串变为一位数字后,将不再进行任何更改。 挑战 给定两个数字n和s,返回n移到多个s位置。 测试用例 n, s -> result 7243, 1 -> 7724 452, -1 -> 522 12, 1 -> 11 153, 4 -> 111 这是代码高尔夫球,因此最短的有效提交(以字节为单位)获胜。
10 code-golf  math 

13
克拉克三角
好吧,最近我踢了一点三角,所以这是另一个。 Clark的三角形是一个三角形,其中每行的最左边的条目为1,最右边的条目由6的倍数组成,随着行数的增加而增加。这是可视化 1 6 1 . 12 1 . . 18 1 . . . 24 1 . . . . 30 1 . . . . . 36 就像Pascal的Triangle一样,所有其他条目都是右上角和左上角数字的总和。 这是前几行 1 6 1 7 12 1 8 19 18 1 9 27 37 24 1 10 36 64 61 …
10 code-golf  math  number 

5
在3D中绘制高斯分布
在概率论中,正态(或高斯)分布是一种非常常见的连续概率分布。正态分布在统计中很重要,并且在自然科学和社会科学中经常用来表示其分布未知的实值随机变量。 挑战 您面临的挑战是在3维平面上绘制高斯分布的概率密度。该函数定义为: 哪里: 甲 = 1,σ X = σ ÿ = σ 规则 您的程序必须采用一个输入σ,即标准偏差。 您的程序必须在您的语言/系统允许的情况下,以最高质量打印高斯分布的3D图。 您的程序可能未使用直接的高斯分布或内置的概率密度。 您的程序不必终止。 您的情节可能是黑白或彩色的。 您的绘图的底部必须有网格线。侧面的网格线(如示例中所示)是不必要的。 您的绘图不需要在网格线旁边有线号。 计分 像在代码高尔夫球中一样,最少字节的提交将获胜!我可能永远不会使用按钮来“接受”答案,除非它很小且直观。 输出示例 您的输出可能看起来像这样: 或者它可能看起来像这样: 更 有效的 输出。无效的 输出。

2
冯·科赫猜想
您可能认识到数学家冯·科赫(von Koch)的著名雪花。但是,他有更多有趣的计算机科学问题要解决。的确,让我们看一下这个猜想: 给定具有n节点的树(因此n-1边缘)。找到一种方法,从枚举节点1向n,因此,从边缘1到n-1以这样的方式,对于每个边缘k其节点号的差等于k。推测这总是可能的。 这是一个例子,可以很清楚地说明这一点: 你的任务 您的代码将以一棵树作为输入,您可以采用所需的格式,但是对于测试用例,我将通过它们的弧线和它们的节点列表来提供树。 例如,这是图片中树的输入: [a,b,c,d,e,f,g] d -> a a -> b a -> g b -> c b -> e e -> f 您的代码必须返回带有编号的节点和边的树。您可以返回更多图形输出,但是我将为测试用例提供这种输出: [a7,b3,c6,d1,e5,f4,g2] d -> a 6 a -> b 4 a -> g 5 b -> c 3 b -> e 2 e -> …

3
将逻辑表达式转换为合取范式
目标: 编写一个完整的程序或函数,该程序或函数接受命题逻辑中的一个公式(以下称为逻辑表达式或表达式),并以合并正规形式输出该公式。有两个常量,⊤并⊥代表真假,一元运算符¬代表否定,和二元运算⇒,⇔,∧,和∨代表暗示,对等,协同和脱节,其分别遵守所有常见的逻辑运算(德·摩根定律,双重否定消除等)。 合并范式定义如下: 任何原子表达式(包括⊤和⊥)都是合取范式。 任何先前构建的表达式的取反是合取范式。 先前构造的任何两个表达式的析取为合取范式。 任何两个先前构造的表达式的合取为合取范式。 其他任何表达式都不是合取范式。 任何逻辑表达式都可以以合取范式形式(非唯一)转换为逻辑等效表达式(请参见此算法)。您无需使用该特定算法。 输入: 您可以采用任何方便的格式输入;例如,符号逻辑表达式(如果您的语言支持),字符串,其他某种数据结构。您不需要像我在此处那样对true,false和逻辑运算符使用相同的符号,但是您的选择应保持一致,如果不清楚,则应在答案中说明您的选择。您可能不接受任何其他输入或以您的输入格式对任何其他信息进行编码。您应该有一些表达任意数量的原子表达式的方法;例如整数,字符,字符串等。 输出: 公式可以是合取范式,也可以是任何方便的格式。它的格式不必与您输入的格式相同,但是您应该解释是否存在任何差异。 测试用例: P ∧ (P ⇒ R) -> P ∧ R P ⇔ (¬ P) -> ⊥ (¬ P) ∨ (Q ⇔ (P ∧ R)) -> ((¬ P) ∨ ((¬ Q) ∨ R)) ∧ ((¬ P) ∨ (Q …
10 code-golf  math  logic 

5
有多少有效数字?
给定一个数字作为输入,请确定它具有多少个有效数字。该数字应作为字符串,因为您必须进行一些特殊的格式化。您很快就会明白我的意思(我认为)。 如果满足以下至少一项要求,则数字为签名。 非零数字始终有效。 两个有效数字之间的任何零都是有效的。 小数部分中的最终零或尾随零仅是有效的。 如果没有小数位,则所有数字都是有效的。 当只有零时,除最后一个零外的所有零都被视为前导零 输入值 数字的字符串或字符串数​​组。它的末尾可能有一个小数点,后面没有数字。它可能根本没有小数点。 输出量 有多少个签名。 例子 1.240 -> 4 0. -> 1 83900 -> 3 83900.0 -> 6 0.025 -> 2 0.0250 -> 3 2.5 -> 2 970. -> 3 0.00 -> 1
10 code-golf  string  math 

1
用有效数字评估表达式
给定一个表达式,您的任务是评估它。但是,您的答案显示的位数不能超过必要的位数,因为这给人的印象是比实际情况更精确。 一个数字具有的有效位数是用科学计数法表示时具有的位数,如果存在小数点,则在末尾包含零。例如,1200有2个有效数字,因为它是,1.2*10^3但1200.有4个有效数字和1200.05个有效数字。 当将两个数字相加时,结果应四舍五入到与最低有效数字最左边的数字相同的位数。例如,1200 + 3 = 1200(自1200以来四舍五入到数百位)1200.01 + 3 = 1203,和4.59 + 2.3 = 6.9。请注意5四舍五入。该规则也适用于减法。0四舍五入到那个地方。请注意,加法和减法不取决于有效位数。例如,999 + 2.00 = 1001因为999四舍五入到一个位,而2.00四舍五入到百分之一;一个舍入到较少位数的位数是999,因此结果1001.00也应舍入到那个位数。同样,300 + 1-300精确等于1,但是300会四舍五入到百位,因此最终结果也应该四舍五入到百位,得出0。300. + 1-300.将等于1。另一方面。 当将两个数字相乘或相除时,请四舍五入到数字的有效位数,即最低有效位数。例如,3.839*4=20由于精确值,15.356四舍五入到20以来4,只有一个有效数字。同样,100/4=30由于两个数字都有一个有效数字,但是100./4.00=25.0由于两个数字都有3个有效数字。0被定义为具有1个有效数字。 表达式将只包含*,/,+,和-,(和括号)。应当遵循操作顺序,并且每次操作后都应将结果四舍五入。如果在一系列加法或减法或一串乘法与除法中遗漏了括号,则在完成所有运算后四舍五入。例如,6*0.4*2 = 5(一个有效数字),而0.4*(2*6)=0.4*10=4和(6*0.4)*2=2*2=4。 输入:一个字符串,其表达式包含()*/+-和数字。为简化起见,-将仅用作减法运算符,而不表示负数;但是,答案可能仍然是否定的,并且需要-作为前缀。 输出:表达式的结果,求值并四舍五入为正确的位数。请注意,这25对于不正确25.0。 测试用例: 3 + 0.5 --> 4 25.01 - 0.01 --> 25.00 4*7*3 --> 80 (4*7)*3 --> 90 (8.0 + 0.5)/(2.36 - …
10 code-golf  math 

5
排列步骤
编写一个函数,该函数采用一组整数并打印该组的每个排列,并在每个步骤之间执行交换 输入值 一组整数,例如(0,1,2) 输出量 格式(set)(交换)(set)的排列和交换列表... 测试用例 Input: (3, 1, 5) Output: (3, 1, 5) (3, 1) (1, 3, 5) (3, 5) (1, 5, 3) (1, 3) (3, 5, 1) (3, 5) (5, 3, 1) (3, 1) (5, 1, 3) 规则 您可以根据需要格式化数字集。 您可以按任何顺序进行交换 您可以重复排列和交换以获得新的排列 您的代码不必实际执行交换,输出仅需要显示在最后一个输出和当前输出之间进行了哪些交换 您的代码仅需要对包含2个或更多元素的集合起作用 您获得的集合将没有重复的元素(例如(0,1,1,2)无效) 这是代码高尔夫球,所以最短的代码胜出!

13
同等公式
在中国剩余定理可以在模运算非常有用。 例如,考虑以下同余关系集: 对于这样的全等关系集,其中所有基数(3, 5, 7在此示例中)都是互质的,则在满足此关系的基数(在此示例中)与的乘积n之间将只有一个整数,1且其中的乘积等于底数(3*5*7 = 105在此示例中) 。 在此示例中,数字将为14,由以下公式生成: 其中2, 4, and 0,从上面的例子中给出。 70, 21, 15是公式的系数,它们取决于基数3, 5, 7。 为了计算70, 21, 15一组基的公式的系数(在我们的示例中),我们使用以下过程。 对于a一组基准中的每个数字: 找到所有其他基数的乘积,记为P。 找出除以P的余数的第一个倍数。这是的系数。1aa 例如,要计算对应于底数的系数3,我们找到所有其他底数的乘积(即5*7 = 35),然后找到该乘积1除以底数后剩下的余数的第一个倍数。 在这种情况下,35留下的剩余部分2时除以3,但35*2 = 70叶子的其余部分1时除以3,所以70对于对应的系数3。同样,3*7 = 21留下的剩余部分1时,除以5和3*5 = 15留下的剩余部分1时,除以7。 简而言之 对于a一组数字中的每个数字: 找到所有其他数字的乘积,记为P。 找出除以P的余数的第一个倍数。这是的系数。1aa 挑战 对于两个或多个碱基的集合,挑战是找到对应系数的集合。 基数的集合保证是成对的互质,每个基数保证大于1。 您的输入是一个整数列表,作为输入[3,4,5]或以空格分隔的字符串"3 4 5",但是您的输入有效。 您的输出应该是整数列表或以空格分隔的表示系数集的字符串。 测试用例 input output [3,5,7] [70,21,15] …
10 code-golf  math 

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.