Questions tagged «math»

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

6
找出有理生成函数的系数
如果我们写一个数字序列作为幂级数的系数,则该幂级数称为该序列的(普通)生成函数(或Gf)。也就是说,如果对于某些函数F(x)和整数系列,a(n)我们有: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 然后F(x)是的生成函数a。例如,几何级数告诉我们: 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) 因此,的生成函数1, 1, 1, ...为1/(1-x)。如果我们对上面方程的两边求和并乘以x得到以下等式: x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 因此,的生成函数1, 2, 3, ...为x/(1-x)^2。生成函数是一个非常强大的工具,您可以使用它们来做很多有用的事情。在这里可以找到简短的介绍,但是要获得真正彻底的解释,请参见惊人的图书生成功能学。 在此挑战中,您将有理函数(两个具有整数系数的多项式的商)作为两个整数系数数组的输入作为输入,首先是分子,然后是分母。例如,功能f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

16
弹跳取模两个数字
模运算()的图形如下所示:ÿ= x模ķy=xmodky = x \mod k 这是一个非常有用的功能,因为它允许我们创建“包装”行为。但是,当我要使用它在两堵墙之间创建“反弹”外观时,这非常麻烦。“反弹”功能的图形(ÿ= 反弹(x ,k )y=bounce(x,k)y = \text{bounce} (x, k))如下所示: 的图的周期为。的图的周期为,因为在返回到起点之前,它向上移动单位,然后向下移动另一个单位。对于这两个函数,的最小值均为0,最大值为(实际上,对于具有积分输入的模数函数,其)。另外,对于这两个函数,值为0。k y = 跳动(x ,k )2 k k k y k k − 1 x = 0ÿ= x模ķy=xmodky = x \mod kķkkÿ=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k)2k2k2kkkkkkkyyykkkk−1k−1k-1x=0x=0x=0 挑战 给定一个整数和一个正整数,返回的整数或浮点近似值。k y = 跳动(x ,k )xxxkkky= 反弹(x ,k )y=bounce(x,k)y …

30
什么是标准刮擦?
在高尔夫中,使用以下公式计算球场的标准划痕: (3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating 给定这4个输入,您的任务是计算高尔夫球场的标准刮擦度。 您应该以任何标准格式输入格式 [num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating 但是如果保存字节,那么许多人会以不同的方式接受输入。 您应该通过meta上任何可接受的方法(例如从函数返回)输出最终结果。 最短的代码获胜,因为这是代码高尔夫!
12 code-golf  math  number 

3
级联加倍
首先,简短的数学插曲值得您注意: 如果为0 < a < 4,则逻辑函数 f(x) = ax(1-x)将在其内部映射间隔[0,1]。这意味着可以玩迭代游戏;例如,如果a = 2,则初始值0.3变为0.42,然后为0.4872,依此类推。 随着参数的a增加,二次函数f在以下意义上变得更加复杂: 0 < a < 1 所有初始值都向0迭代。 1 < a < 3 0变成排斥,但是有一个新的不动点(a-1)/ a吸引了所有迭代。 3 < a < 1+sqrt(6) 新的固定点变得令人反感,但出现了两个吸引点的循环。 3.44949... < a < 3.54409... 2个周期变得令人排斥,但出现了4个吸引点的周期。 等等 费根鲍姆注意到,这些参数区间的长度在那越来越接近的速度下降4.6692...时,费根鲍姆常数。奇妙的发现是,此2期分叉序列是任何函数(如二次抛物线)先增大后减小的普遍现象。这是有关混沌普遍性的第一批报告之一。 现在迎接挑战!编写最短的代码来计算 Feigenbaum常数,以达到您选择的精度。这里的重点不是通过编码您搜索过的数字来欺骗系统,而是实际上让计算机找到该值。作为参考,这是30位数的常数: 4.669201609102102990671853203821578
12 code-golf  math  number 

14
用零填充文件
今天的任务是获取一个现有文件,并将零添加到该文件,直到达到一定大小为止。 您必须编写一个程序或函数,该程序或函数采用当前目录中文件的名称f和字节数b。在保留的原始内容的同时f,您必须在末尾写入零(空字节,而不是ascii 0),以便其新大小为b字节。 您可以假设名称中f仅包含字母数字的ascii,您对此具有完全权限,其初始大小不大于b,但可能与一样大b,并且有无限的可用磁盘空间。 您可能不会假设f它是非空的,或者它不已经包含空字节。 执行结束后,不应修改其他现有文件,也不应该存在新文件。 测试用例 f的内容| b | f的结果内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

1
稳定的婚姻问题
背景 假设有2*n要结婚的人,并且进一步假设每个人n在以下约束下完全被其他人吸引: 吸引力是对称的 ; 即如果人A被人吸引B,则人B被人吸引A。 吸引力是反传递的 ; 也就是说,如果一个A人和一个人B都被一个人吸引C,那么一个A人和B另一个人就不会被彼此吸引。 因此,吸引力网络形成(无向)完整的二部图 Kn,n。我们还假设每个人都对他们吸引的人进行排名。这些可以表示为图中的边缘权重。 一个婚姻是一个配对(A,B)地方A和B被吸引到对方。如果存在另一场婚姻,婚姻中的婚姻是不稳定的,那么每一次婚姻中的一个人都可以与伴侣离婚并结婚,并且双方最终都会得到比其前夫更高的伴侣。 目标 您的任务是编写一个完整的程序或函数,以每个人的喜好作为输入并为每个人输出一个婚姻,以使每个婚姻稳定下来。 输入值 输入可以采用任何方便的格式;例如加权图,首选项的有序列表,字典/关联等。您可以选择将总人数作为输入,但不允许其他输入。 输出量 输出也可以采用任何方便的格式;例如,元组列表,最小边缘覆盖,与每个人的伴侣相关的功能等等。请注意,唯一的约束是每次婚姻都是稳定的,没有其他最优性要求。 笔记 您可以O(n^2)在Wikipedia或此Numberphile视频上找到更多信息和解决此问题的算法。但是,您可以自由使用任何算法。 禁止出现标准漏洞。 这是代码高尔夫球。最短答案(以字节为单位)获胜。

9
构造高斯矩阵
高斯模糊是一种用于平滑模糊图像的方法。它涉及创建一个矩阵,该矩阵将通过与图像像素卷积来使用。在这个挑战中,您的任务是构造用于高斯模糊的矩阵。为了构造一个尺寸为(2 r + 1×2 r + 1)的矩阵,您将使用输入r作为模糊半径,并使用输入σ作为标准偏差。该矩阵中的每个值都有一个(x,y)值,该值取决于其在每个方向上距中心的绝对距离,并将用于计算G(x,y),其中G是 例如,如果r = 2,我们想生成一个5 x 5的矩阵。首先,(x,y)值的矩阵为 (2, 2) (1, 2) (0, 2) (1, 2) (2, 2) (2, 1) (1, 1) (0, 1) (1, 1) (2, 1) (2, 0) (1, 0) (0, 0) (1, 0) (2, 0) (2, 1) (1, 1) (0, 1) (1, 1) …
12 code-golf  math  matrix 

1
数学Metagolf疯狂!
Mathemania规格: Mathemania的每个代码都以数字开头2。从中2,您可以执行以下操作: e:求幂。此命令的默认值是平方。 f:阶乘。该命令的默认值是在数字(using f on 2 = 2! = 2)上使用单阶乘。 r: 根。该命令的默认值是将数字平方根。 c:天花板功能。 l:发言权功能。 要在Mathemania中生成数字,您必须将这些命令串在一起,这些命令在number上从左到右执行2。 例子: ef = (2^2)! = 4! = 24 rl = floor(sqrt(2)) = floor(1.4...) = 1 er = sqrt(2^2) = sqrt(4) = 2 efrrc = ceil(sqrt(sqrt((2^2)!))) = ceil(sqrt(sqrt(24))) = ceil(sqrt(4.89...)) = ceil(2.21...) = 3 的e,f和r命令可以通过额外Mathemania命令(这也与开始被改变2为“碱基”号)通过将括号中的改变的功能后,并把它里面的Mathemania命令以生成不同的求幂,阶乘和根。 …
12 math  metagolf 

3
自然派#2-河
目标 给定一个带有一列哈希的字符串,计算其总长度并除以从开始到结束的距离。 模拟 我们在模拟什么?根据本文,河流的长度与起点和终点之间的距离之比约为Pi!(这可能在经验上得到了证明,但是我可以找到数据,对于这一挑战,我们认为它是正确的)。 我们如何模拟这一点? 接受空格和哈希的字符串输入 每个哈希将与其他两个相邻 除了第一个和最后一个散列,该散列只有1个 每个字符都位于格点上 (x, y) x 是字符在其行中的索引 例如c,第四个字符是0123c567 y 是字符的行号 例如c在第三行: 0line 1line 2line 3c... 求和相邻散列之间的距离,将其称为 S 取第一个和最后一个哈希之间的距离,称为 D 返回 S/D 规格 输入值 灵活,可以采用任何标准方式(例如,函数参数,STDIN)和任何标准格式(例如,字符串,二进制)进行输入 输出量 灵活,以任何标准方式(例如退货,打印)提供输出 可以使用空格,尾随空格和前导空格 精度,请提供至少4位小数位数(即3.1416) 计分 最短的代码胜出! 测试用例 这些是我对河流的近似值。我的估算值可能很差,或者我对河流人口的估算值很差。另外,我是手动进行计算的。我本来想念的。 黄河 ### #### # # # # # # # # # …

1
证明2 + 2 = 2 * 2(和类似的)
输出此类陈述的完整正式形式,例如1+2=3,2+2=2*(1+1)等。 介入 如果您知道Peano Arithmetic,则可以跳过本节。 这是我们定义自然数的方法: (Axiom 1) 0 is a number (Axiom 2) If `x` is a number, the `S(x)`, the successor of `x`, is a number. 因此,例如S(S(S(0)))是一个数字。 您可以在代码中使用任何等效的表示形式。例如,所有这些都是有效的: 0 "" 0 () ! 1 "#" S(0) (()) !' 2 "##" S(S(0)) ((())) !'' 3 "###" S(S(S(0))) (((()))) !''' ... …

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

3
验证选票三角形
甲签号码,我们将标签乙,是的布置从1号的方法,通过B(B + 1)2号/成三角形,使得每个行和列是任何递增的顺序。前四个投票号码是: a(0) = 1 a(1) = 1 a(2) = 1 a(3) = 2 a(3)是2,这意味着有2种方式将数字从1排列到3(3+1)/2 = 6这样的三角形: 1 1 2 3 or 2 4 4 5 6 3 5 6 有关更多详细信息,请参见OEIS序列条目。 给定选票三角形,您的挑战是验证其正确性。如果满足选票三角形的条件(行数和列数增加),则应该输出其他几种方法(输入中的方法除外)以正确地布置三角形。如果输入三角形的构造不正确,则不应输出任何内容。 尾随换行符是允许的。 输入值 数字三角形,可能是也可能不是有效的选票三角形。例如: 1 2 3 4 5 6 1 10 5 9 8 2 7 6 …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
自指代多项式
对于每个给定的度数n,都可以构造(至少一个)整数多项式p,使得p(k)(p对求值k)是x^k所有多项式中项的系数0 <= k <= n。为了使它们唯一,我们要求前导系数(的系数x^n)为正且最小。 这些多项式具有一些有趣的属性,您可以在线程中找到一些启发我进行此挑战的参考。您还可以在https://oeis.org/A103423中找到这些多项式 先验的意外属性之一是根的行为取决于n: 来源(通过/ u / zorngov和/ u / EpicSauceSc2) 任务 给定一个非负整数n输出,自相关积分多项式的度数n具有最小正超前系数。 细节 输出可以是任何人类可读的形式,可以是字符串x^2-x-1,也可以是系数列表[1,-1,-1]。(系数的顺序也可以相反,只需保持一致即可。) 前几个输出 n=0: 1 n=1: x n=2: x^2-x-1 n=3: 10*x^3-29*x^2-6*x+19 n=4: 57*x^4-325*x^3+287*x^2+423*x-19 n=5: 12813*x^5-120862*x^4+291323*x^3+44088*x^2-355855*x-227362

3
我有机会赢得大奖吗?
我在当地的ACM分会向参加会议的人员颁发奖品。但是,如果您解决了编程难题,您获胜的机会就会增加(但是我总是会解决难题)。因此,有些人只有1个条目,而其他人只有2个条目。抽奖程序的工作方式不是在有人解决难题时添加其他条目。取而代之的是,它跟踪一个人拥有的“生命”数量,从而减少了在该随机抽样算法的每遍操作中是否选择了该人。所以它是这样的: Doorknob: 1. xnor: 2. Justin: 2. Alex: 1. Dennis: 2. 然后程序随机选择之一[Doorknob, xnor, Justin, Alex, Dennis],递减数字(例如选择Justin): Doorknob: 1. xnor: 2. Justin: 1. Alex: 1. Dennis: 2. 并重复。如果某人的“生命”数量达到0(让我们Justin再次选择),那么他们将从列表中删除: Doorknob: 1. xnor: 2. Alex: 1. Dennis: 2. 这一直持续到剩下一个人为止。那个人就是赢家。 现在真正的问题是,我赢了的概率是多少? 您将获得两个输入: n。这是参加挑战的人数 k。这是n指拥有2条生命的人数。此号码始终包含您。 因此,如果我有一个函数p叫p(10, 5),这就是赢得奖金的概率,总共有10个人,其中5个人只有1人生,而5(包括您)有2人生。 您应该输出准确或十进制形式获胜的概率。无论如何,答案必须精确到小数点后第四位,包括小数点后第四位。是否舍入到该数字取决于您。 您的解决方案可以是随机化的溶液,其输出的答案为4 个与小数位高概率。您可能会假设您使用的内置RNG确实是随机的,并且它必须以至少90%的概率输出正确的答案。 此外,您的代码只需要用于n, k <= 1000,尽管我确实提供了比那些好奇的用户更大的测试用例。 测试用例 …

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.