Questions tagged «math»

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

11
pi的良好有理逼近
编写一个程序,以分母递增的顺序打印出分母<1000000的pi的所有良好有理近似值。 a/b如果pi比分母不大于的任何其他有理数更接近pi,则它是pi的“良好有理近似值” b。 输出应该总共有167行,并且开始和结束是这样的: 3/1 13/4 16/5 19/6 22/7 179/57 ... 833719/265381 1146408/364913 3126535/995207 最短的程序获胜。

28
n的最后一个非零数字!
给定整数1≤N≤1,000,000作为输入,输出N的最后一个非零数字!哪里!是阶乘(从1到N的所有数字的乘积)。这是OEIS序列A008904。 您的程序需要在合理的机器上10秒钟内完成任何有效输入。 测试用例 1 => 1 2 => 2 3 => 6 4 => 4 5 => 2 6 => 2 7 => 4 8 => 2 9 => 8 10 => 8 100 => 4 1000 => 2 10000 => 8 100000 => 6 1000000 => 4 这是一个代码高尔夫球,因此以字节为单位的最短代码胜出!

2
存在高尔夫
数学有很多符号。有些人可能会说太多符号。因此,让我们对图片进行一些数学运算。 让我们来一张纸,我们将以此为基础。首先,本文为空,我们将说等同于或。⊤⊤\top真正真正\textit{true} 如果我们在纸上写其他东西,它们也将是正确的。 例如 表示声明和是正确的。PPP问问Q 现在让我们说,如果我们围绕某个陈述画一个圆圈,则该陈述是错误的。这代表逻辑不。 例如: 表示为假,为真。PPP问问Q 我们甚至可以将圆圈放在多个子语句周围: 由于圆内的部分通常在圆上加上一个圆,因此读作,因此表示。我们甚至可以嵌套圈子P 和 QP 和 问P\text{ and }Q不 (P 和 Q )不 (P 和 问)\text{not }(P\text{ and }Q) 读为。不是 ((不是 P) 和 Q )不 ((不 P) 和 问)\text{not }((\text{not }P)\text{ and }Q) 如果我们绘制一个没有任何内容的圆,则表示 或。 ⊥⊥\bot假假\textit{false} 由于空白为真,因此对否定为假。 现在,使用这种简单的可视方法,我们实际上可以表示命题逻辑中的任何陈述。 证明 能够表示语句之后的下一步就是能够证明它们。对于证明,我们有4种不同的规则可用于变换图形。我们总是从一张空纸开始,我们知道这是一个虚无的事实,然后使用这些不同的规则将空纸转换为一个定理。 我们的第一个推理规则是插入。 插入 我们将子图与顶层之间的否定数称为“深度”。插入允许我们以奇怪的深度介绍我们希望的任何语句。 …
22 math  logic  proof-golf 

30
我的体重指数是多少?
问题: 您的任务是编写一个程序,该程序将身高(米)和体重(公斤)作为输入,并输出相应的BMI类别。 BMI是您的体重与身高之比的量度。对于许多人来说,它已过时且不准确,但这并不重要! BMI可以使用以下公式计算: BMI = (mass in kilograms) / (height in meters)^2 类别将定义如下: BMI <18.5:“体重不足” 18.5 <= BMI <25:“正常” 25 <= BMI:“超重” 为了挑战,我忽略了所有“极端”类别。另外,由于某些数字(例如“ 25”)位于2个类别之间,因此我略微调整了界限,因此有明确的答案。 您可以编写函数或完整程序。 输入: 输入可以采用任何合理的形式。两个数字(或字符串),可以是2个单独的参数,也可以是一个字符串。包含2个数字的数组/列表,带有“ weight”和“ height”键的字典...应该支持十进制值。您可以假设输入将始终有效(没有负值,并且高度永远不会为0)。 输出: 输出将是一个字符串,其中包含不区分大小写的类别名称。字符串必须与上面的类别名称完全匹配,忽略大小写。可以将其输出到stdout,返回(对于函数)或写入文件。 测试用例(体重,身高=>结果): 80, 1 => "Overweight" 80, 2 => "Normal" 80, 3 => "Underweight" 50, 1 => "Overweight" 50, …
21 code-golf  math 

30
将两个数字相乘
输入:两个十进制整数。这些可以在标准输入中作为程序或函数的参数或列表形式提供给代码。 输出:其乘积,以十进制整数表示。例如,输入5 16将导致输出80。 限制:请没有标准漏洞。这是代码高尔夫球,以最少的字节数获胜。 注意:布局因我先前的挑战而被盗,请加上两个数字。 测试用例: 1 2 -> 2 4 5 -> 20 7 9 -> 63 -2 8 -> -16 8 -9 -> -72 -8 -9 -> 72 0 8 -> 0 0 -8 -> 0 8 0 -> 0 -8 0 -> 0 0 0 -> 0 …
21 code-golf  math  number 

12
索引扩展的斐波那契数
您可能听说过斐波那契数。您知道,以开头的整数序列,1, 1然后每个新数字都是后两个数字的和? 1 1 2 3 5 8 13... 等等。关于斐波那契数的挑战在这里很普遍。但是谁说斐波那契数必须以1, 1?开头呢?他们为什么不能开始0, 1呢?好吧,让我们重新定义它们以0开始: 0 1 1 2 3 5 8 13... 但是...我们也不必停在那里!如果我们可以将最后两个数字相加以获得下一个数字,那么我们也可以从第二个数字中减去第一个数字,以添加一个新的数字。因此可以从以下开始1, 0: 1 0 1 1 2 3 5 8 13... 我们甚至可以得出负面结论: -1 1 0 1 1 2 3 5 8 13... 这个系列也永远持续下去。我认为有趣的是,它最终反映了正常的斐波纳契数,而其他所有数均变为负数: 13 -8 5 -3 2 -1 1 …

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 …

2
将数字的连续分数加倍
给定您的任务x,输出2*x。容易吧!!但是有一个陷阱:x将作为(可能是无限的)连续分数给出,并且输出必须是连续分数。确保输入为实数代数,其次数最多为2。 输入:的连续分数x。这分为三部分:整数部分,前缀和重复部分。整数部分由一个整数组成。前缀和重复部分是(可能为空)正整数数组,用于描述连续分数的前缀和重复部分。例如,输入(3, [1], [2, 4])表示连续分数[3; 1, 2, 4, 2, 4, ...]。 如果重复部分为空,则表示有理数。例如,(3, [1, 2], [])代表[3; 1, 2] = 11/3。您必须接受两种形式的有理数(即(3, [1, 1, 1], []),也[3; 1, 1, 1] = 11/3应该是有效的输入)。 输出:以与输入相同的格式输出输入两倍的连续分数。如果输出是合理的,则可以输出连续分数的任何一种形式。只要答案等同于正确答案,就可以了。不需要“压缩”,因此无限部分可能会“展开”一点(例如,[1; 4, 2, 3, 2, 3...]可能是书写的(1, [4], [2, 3])或(1, [4, 2, 3], [2, 3]))。所有答案必须准确。 测试用例:为方便起见,给出了准确的表格列。 Input Exact Form Output (0, [] []) …

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 …

2
整数线性规划
介绍 为整数线性规划编写一个求解器。 挑战 您的任务是编写整数线性规划(ILP)的求解器。在ILP中,给出了一组未知数(所有都是整数)的线性不等式,目的是找到线性函数的最小值或最大值。 例如,对于不等式(示例取自“ 混合整数线性规划”) 4x+2y-15≤0 x+2y- 8≤0 x+ y- 5≤0 - x ≤0 - y ≤0 和目标函数3x+2y,目标函数的最大值应为12(x=2,y=3),而最小值应为0(x=y=0)。 输入以2d数组形式给出(或遵循标准规范的任何等效形式),每一行对应一个不等式,最后一行除外。数组中的数字是系数,该≤0部分始终被省略。如果n每一行中都有元素,则意味着存在n-1未知数。 数组的最后一行对应于线性函数。列出系数。 例如,上面问题的输入数组是 [[4,2,-15],[1,2,-8],[1,1,-5],[-1,0,0],[0,-1,0],[3,2,0]]. 输出应该是最小和最大,以任何合理的形式给出。 对于以下问题(上述问题排除了两个限制): [[4,2,-15],[1,2,-8],[1,1,-5],[3,2,0]]. 最大值仍然是12,但最小值不存在,目标函数可以具有任意大的负值(就绝对值而言)。在这种情况下,程序应12按照由应答者确定的虚假值输出。另一种情况是根本没有解决方案,例如, [[4,2,-15],[-1,-2,7],[-1,0,3],[0,1,0],[3,2,0]]. 在这种情况下,也应输出虚假值。最好能分辨出目标函数的“最优值”是无穷大的情况以及根本没有解的情况,但这不是必须的。 输入仅包含不等式和目标函数的整数系数。所有未知数也是整数。不等式的系数矩阵被保证具有满分。 测试用例 归功于@KirillL。在原始测试套件中发现错误并加深我对ILP问题的理解。 Input Output [[4,2,-15],[1,2,-8],[1,1,-5],[-1,0,0],[0,-1,0],[3,2,1]] [1,13] [[4,2,-15],[1,2,-8],[1,1,-5],[3,2,0]] [-inf, 12] [[4,2,-15],[-1,-2,7],[-1,0,3],[0,1,0],[3,2,0]] [NaN, NaN] [[-1,-1,-1,-1,-1,8],[1,1,1,1,0,0],[5,5,5,5,6,7]] [55, inf] [[-1,-1,-1,-1,-1,8],[1,1,1,1,0,0],[0,0,0,0,0,4]] [4, 4] [[4,2,-15],[-1,-2,7],[-1,0,3],[0,1,0],[0,0,4]] [NaN, …

20
我希望我的书远离这张桌子
故事 因此,我有一本书想与桌子分开,只剩下其他书。我想知道我需要多少本书才能达到本书的长度。nnn 这是我在Wolfram的朋友为我绘制的可视化效果: Wolfram和Wikipedia中有关该主题的更多信息。 挑战 给定整数输入,输出顶书要与桌子水平隔开本书长度需要多少本书。或在以下不等式中 找到输入的的最小整数值。 nnnnnn mmmnnn∑i=1m12i≥n∑i=1m12一世≥ñ\sum_{i=1}^{m}\frac{1}{2i} \geq n 编辑:对于分数,至少使用IEEE单精度浮点。抱歉,发布后无法编辑挑战 (OEIS A014537) 测试用例 1 4 2 31 3 227 5 12367 10 272400600

16
递归Collat​​z猜想
在考拉兹猜想假设,如果你把任意正整数,然后重复下面的算法足够的时间: if number is odd, then multiply by three and add one if number is even, then divide by two 您最终将得到1。它似乎总是可以工作,但是从未证明它总是可以工作。 您已经在计算达到1所需的时间了,所以我想我会稍微调整一下。 从给定的正整数开始,计算达到1所需的时间(其“停止时间”)。然后找到该号码的停止时间。 重复直到达到1,或者直到达到100次迭代的完全任意限制。在前一种情况下,打印所需的迭代次数。在后一种情况下,请打印“ Fail”或您选择的其他一致输出,只要它不是integer即可1≤n≤100。您可能不会为此选项输出空字符串。但是,允许输出[1,100]范围之外的整数。 例子: Input: 2 2->1 Output: 1 Input: 5 5->5->5->5->5->... Output: Fail Input: 10 10->6->8->3->7->16->4->2->1 Output: 8 Input: 100 100->25->23->15->17->12->9->19->20->7->16->4->2->1 Output: 13 Input: 10^100 10^100->684->126->108->113->12->9->19->20->7->16->4->2->1 Output: …

7
半指数函数
阿半指数函数是一个当它与本身组成给出了一个指数函数。例如,如果为f(f(x)) = 2^x,则将f为半指数函数。在此挑战中,您将计算一个特定的半指数函数。 具体来说,您将使用以下属性计算从非负整数到非负整数的函数: 单调递增:如果x < y,则f(x) < f(y) 至少有一半指数:对于所有的x,f(f(x)) >= 2^x 词典上最小的:在具有以上属性的所有函数中,输出一个使maximums最小的函数f(0),给定选择,minimizes f(1),然后f(2),依此类推。 对于输入,此函数的初始值为0, 1, 2, ...: [1, 2, 3, 4, 8, 9, 10, 11, 16, 32, 64, 128, 129, 130, 131, 132, 256, 257, ...] 您可以通过以下任意一种方法将其输出为函数或完整程序: 以x作为输入,输出f(x)。 采取x作为输入,输出所述第一x值f。 无限输出所有f。 如果要取x并输出f(x),x必须为零索引。 参考实施 这是代码高尔夫-以字节为单位的最短代码获胜。一如既往,禁止出现标准漏洞。

22
将ISBN-13转换为ISBN-10
介绍 在此挑战中,您的任务是,在给定书号为ISBN-13的情况下,为书籍生成ISBN-10代码。这样的ISBN-13代码由以下几部分组成-: 978-GG-PPPP-TTT-C 字母G(组),P(发布者),T(标题)和C(校验和)都代表一位数字。出于这一挑战的目的,分组和计算C(参见挑战)并不有趣,我们将删除所有连字符以简化此任务。 ISBN-10号的布局非常相似: GG-PPPP-TTT-c 字母G,P和T中的相同的13位数字的ISBN,但是c是不同的(并且使用不同的算法来计算)。c选择数字的方式应使以下等价成立(数字顺序): 10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11) 例 让我们考虑一下ISBN编号9780345391803:要获得其相应的ISBN-10代码,我们只需删除前导978和校验和3yield 034539180。 接下来,我们需要计算新的校验和: 10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185 下一个可被整除的数字11是187,因此新的校验和为2,因此得到的是ISBN-10代码0345391802。 规则 您的输入将始终具有一个对应的ISBN-10数字(即,该数字正好是13位数字,以开头978) …

9
小组是周期性的吗?
介绍 如果您已经知道什么是循环组,则可以跳过此部分。 一个组是由一个集合和一个关联的二进制运算定义的$(也就是说,(a $ b) $ c = a $ (b $ c)。该组e中仅存在一个元素,而a $ e = a = e $ a对于该组中的所有元素a(恒等)。对于a该组中的每个元素,都存在一个精确的b使得a $ b = e = b $ a(逆)元素对于组中的每个两个元素a, b,a $ b都位于组中(闭包)。 我们可以a^n代替来写a$a$a$...$a。 通过任何元件产生的循环子a组中的是<a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)},其中n是子组的顺序(大小)(除非该亚型是无限的)。 如果一个组可以由其元素之一生成,则它是循环的。 挑战 给定有限群的Cayley表(乘积表),确定它是否为循环的。 例 让我们看一下下面的Cayley表: 1 2 3 …

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.