Questions tagged «math»

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

23
用集合构造自然数
这种构造是表示自然数的一种方式。 在此表示形式中,0被定义为空集,而对于所有其他数字,n是{0}和{n-1}的并集。 例如,构造3我们可以遵循以下算法: 3 = {ø, 2} = {ø, {ø, 1}} = {ø, {ø, {ø}}} 任务 您可能已经猜到,您的任务是取一个自然数(包括零)并输出其构造。 如果您选择的语言支持这样的对象,则可以将其输出为字符串或设置为对象。 如果选择输出为字符串,则应使用花括号({})表示一个集合。您可以选择将空集表示为ø(否则,它应该是没有条目的集{})。您也可以选择在集合中的条目之间和之后添加逗号和空格。 顺序并不重要,但是输出的集合中可能没有重复的元素(例如{ø,ø}) 这是代码高尔夫球,因此目标是拥有最少的字节数 测试用例 这是一些带有一些示例输出的测试案例。 0 -> {} 1 -> {{}} 2 -> {{}{{}}} 3 -> {{}{{}{{}}}} 4 -> {{}{{}{{}{{}}}}}

11
反Pi功能
Pi函数是阶乘实数(甚至复数)的扩展。对于整数n,Π(n)= n!,但是要获得关于实数的定义,我们使用积分来定义它: 在这个挑战中,我们将反转Π函数。 给定实数z≥1,找到正x使得Π(x)= z。您的答案必须是至少5位小数的准确数字。 例子: 120 -> 5.0000 10 -> 3.39008 3.14 -> 2.44815 2017 -> 6.53847 1.5 -> 1.66277
17 code-golf  math 

15
计算欧拉数
的欧拉数 A(n, m)是排列的数量[1, 2, ..., n]精确地在其中m元件是比以前的元件大。这些也称为上升。例如,如果,则为n = 33!= 6个排列[1, 2, 3] 1 2 3 < < 2 elements are greater than the previous 1 3 2 < > 1 ... 2 1 3 > < 1 ... 2 3 1 < > 1 ... 3 1 2 > < 1 …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

8
在Copeland–Erdős常数中查找数字
背景 所述克柏兰-尔杜斯常数是“0”的串联 以10为底的质数表示法。它的值是 0.23571113171923293137414... 另请参阅OEIS A033308。 Copeland和Erdős证明这是一个正常数。这意味着可以在Copeland-Erdős常数的十进制扩展的某个点上找到每个自然数。 挑战 给定一个正整数,将其以10为基数(不带前导零)并输出其在Copeland-Erdős常数的十进制数字序列中的第一个出现的索引。 允许使用任何合理的输入和输出格式,但输入和输出应以10为底。在这种情况下,可以假定不包含前导零。 从常量的第一个小数开始,输出可以是从0开始或从1开始。 实际结果可能会受到数据类型,内存或计算能力的限制,因此该程序在某些测试案例中可能会失败。但: 理论上,任何输入都应该工作(即不考虑这些限制)。 实际上,它至少应在前四个案例中起作用,并且每个案例的结果都应在不到一分钟的时间内得出。 测试用例 输出在此基于1给出。 13 --> 7 # Any prime is of course easy to find 997 --> 44 # ... and seems to always appear at a position less than itself 999 --> 1013 # Of course …

16
Narayana-Zidek-Capell数
给定输入n,生成第n个Narayana-Zidek-Capell数。最低字节获胜。 f(1)= 1,f(n)是上一层(n / 2)Narayana-Zidek-Capell项的总和。 测试用例: f(1)=1 f(9)=42 f(14)=1308 f(15)=2605 f(23)=664299

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 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 

7
不同底数的素数
挑战: 您将获得以10为底的数字。对于从10倒数到2的每个基数: 以原始输入数字为基数10的字符串,并删除该数字中对基数无效的所有数字。 解释在该基数中得到的数字字符串。如果给出1或0,则终止整个过程。 输出或打印其最大质数,以十进制数表示。 输出可以是最大素数的数组。 示例案例: 输入: 987654321 输出: 379721 10593529 1091 179 1493 293 19 7 交替: [379721,10593529,1091,179,1493,293,19,7] 这将打印的987654321最大素数因子,87654321 9 = 42374116 10,7654321 8 = 2054353 10,依此类推,直到其达到1 2,在那里它停止。

4
实际上是整数Metagolf
背景 实际上(Seriously的后继者)是我在2015年11月创建的基于堆栈的命令式高尔夫球语言。像许多其他高尔夫球语言一样,它具有一字节的命令,这些命令根据堆栈的内容执行不同的功能。它的特色之一是数学-它具有多种基于数学的命令。但是,为了执行数学运算,您必须将(一个或多个)数字放在堆栈上。因为有许多不同的选项,所以以尽可能少的字节来推送特定值是很棘手的。在此挑战中,您将确切地做到这一点:用尽可能少的字节数表示“数字”(特别是整数)。 挑战 给定一个整数N作为输入,输出有效的“实际”代码,导致N被压入堆栈。 输入将在32位有符号二进制补码整数(即包含在内的整数[-2147483648, 2147483647])范围内。 结果必须是整数(不是浮点数,字符串,列表或函数),并且必须在堆栈的顶部。 您可能不对堆栈的内容做任何假设(例如堆栈是否为空)。堆栈上的任何现有值都不得修改或重新排列。 实际上,在我撰写此挑战时,我使用了最新的提交。如果我进行了错误修复或性能增强(或任何其他不删除或更改允许的命令功能的较小更改),则将更新此版本。 您的解决方案必须至少与平凡的解决方案一样好(:在输入之前加上数字数值)。 您的分数将是平凡解的长度之和减去用于选择1000个32位带符号二进制补码整数(用于评分)的输出长度的总和,可以在下面找到。我保留在必要时随时更改得分整数的权利(例如针对测试用例进行优化或测试用例不够彻底)。 解决方案必须在30秒内为每个输入输出有效答案。定时将在标准的免费Cloud9工作区上完成。 指令 为简单起见,(当前)208个命令中仅可以使用141,并且那些与数字运算无关的141的许多重载已被删除。以下是允许的命令列表(格式为<hex code> (<symbol>): <descriptions of functions based on stack values and types>: 0B (♂): take the next command and map it over the top of the stack (for example, ♂A is equivalent to `A`M) 1F (▼): pop …

11
创建ABACABA城市
这是ABACABA的第三个城市: _ A|_| B|__| A|_|_ C|___| A|_| B|__| A|_| 它是由ABACABA序列组成的,该序列基本上是: A(第一次迭代) 地方B-AB 重复A-ABA(第二次迭代) 地方C-ABAC 重复ABA-ABACABA(第3次迭代) 这样你就知道了。 建筑物的高度(对应于下划线的数量)等于将字母转换为数字,例如A = 1,B = 2等 输入项 迭代次数1 <= n <= 26。 输出量 顺序n的ABACABA城市,包括行首的字母。

1
在圆形交叉点中查找专用区域
这是给您一个看似具有挑战性的几何难题! 给定一个圆A和n其他圆B[n],找出包含在A其中的总面积不在的任何圆之内B。 您的代码应尽可能短。 输入项 您的输入应包含以下信息: 一个浮点数,表示圆的半径A。 浮点数列表,用于表示中的圆半径B。 中的圆心列表B。您的程序可能期望中心在极坐标或笛卡尔坐标中。 (可选)您可能会收到nB中的圆圈数。此输入不是必需的。 假定圆心A是原点,即点(0, 0)。 这是保证没有两个圈子里B是相同的,但不保证:1,各界B相交A,各中心B在外面A,或没有两个圆B相交。确保您的解决方案可以处理各种边缘情况。 您可以以任何顺序接收输入,包括文本输入(通过stdin或您的语言的等效语言),函数参数或命令行参数的形式。 如果选择接收文本输入,则输入之间应有一个或两个字符的可打印ASCII分隔符。 输出量 您的程序或函数应输出一个浮点数,该数字代表A不在的任何圆圈内的总面积B。对于所有测试用例,您的答案应至少精确到三个有效数字。 通用代码高尔夫球规则适用。 您的解决方案不应依赖圆内的采样点来确定面积。 不允许使用自动定位圆的交点,在圆的交点内查找区域或立即解决此问题的内置函数。 测试用例 在每个图像中,圆圈A以蓝色勾勒出轮廓,圆圈B以绿色勾勒出黑色轮廓。应返回的区域以红色填充。 (特别感谢Rainer P.检查我的解决方案) 测试用例1: A = {x: 0, y: 0, rad: 50} B[0] = {x: 0, y: 0, rad: 100} Result: 0.00 测试案例2: A = {x: 0, y: 0, rad: …

8
排序串联的序列
考虑一个基于递归关系的序列f(n) = f(n-1)+f(n-2),以开头f(1) = x1, f(2) = x2。对于x1 = 2, x2 = 1,序列开始如下: 2 1 3 4 7 11 18 29 47 76 123 199 322 521 843 将其串联成字符串将得到: 213471118294776123199322521843 现在,将该列表划分为的最小可能数y(n) > y(n-1)。从第一个数字开始,然后从第二个数字开始,等等。第一个输出数字应始终为一位数字。用所需的零数字填充最后一个数字。 2 13 47 111 829 4776 12319 93225 218430 您将以(x1, x2)任何方便的格式得到两个数字作为输入,而挑战是输出排序后的列表。 规则: 功能和程序还可以 初始序列应恰好有15个数字(最后一个数字是f(15))。 x1并且x2为非负数(可能为零)。 输出可以是任何方便的格式 y必须创建输出矢量,以便y2 …

3
阿比利亚秩序
一些背景 在数学中,组是一个元组(G ^,•)其中G ^是一组和•是上的操作ģ使得对于任何两个元素X和ÿ在ģ,X • ÿ也是ģ。 对于某些X,ÿ,ž在G ^,碱性基团公理如下: ģ被关闭 •下即X • ÿ在ģ 操作•是关联的,即x •(y • z)=(x • y)• z ģ具有身份元素,即存在È在ģ使得 X • Ë = X为所有X 操作•是可逆的,即在G中存在a,b使得a • x = y和y • b = x 好的,那是小组。现在我们将一个Abelian组定义为一个组(G,•),使得•是可交换运算。即,x • y = y • x。 最后定义。组的顺序(G,•),表示为| G |,是集合G中元素的数量。 任务 阿贝尔阶是整数n,因此每个n阶组都是阿贝尔阶。OEIS中的阿贝尔订单顺序为A051532。给定整数n,您的工作是产生此序列的第n个项(1索引)。您必须支持最大最大整数的输入,以便不会溢出。 输入可以来自函数参数,命令行参数,STDIN或任何方便的参数。 输出可以从函数返回,打印到STDOUT或任何方便的东西。什么也不要写到STDERR。 分数是字节数,最短获胜。 例子 …

6
枚举N维向量
给定正整数k > 1和非负整数i,生成非负整数的k-tuple(或- k维向量)。对于每一个k,从ℕ到ℕ地图ķ,必须是双射。也就是说,每个输入i应产生一个不同的元组,并且每个可能的元组必须由某个输入产生i。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 您可以对输出使用任何方便,明确的平面列表格式。 您的解决方案不应施加任何人为限制k,i但您可以假定它们适合您语言的本机整数大小。至少,您必须支持最大为的值255,即使您的本机整数大小也要小于该值。 对于any 1 < k < 32,您的代码应该会在几秒钟内产生一个结果(当然,如果您的答案由于先前的规则而不能支持那么大,则会相应地调整限制)。这应该是没有问题的:它可能解决这一难题,使得它的作品多达2 128在几秒钟,但上限是存在的,以避免回答这实际上从迭代来找到结果。i < 231i0i 请在您的答案中包括对所选映射的描述,以及为什么该映射是双射的(这不需要是正式证明)。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。 相关挑战 从非负数生成一对整数 输出所有有理数的列表

11
伽玛功能高尔夫
给定的实数t中(-10^9,13)(不包括-10^9或13)作为输入,输出Γ(t),也被称为伽玛函数,其定义如下: 您不得使用内置的Gamma函数来解决此任务,也不得使用内置的数字或符号积分函数。您的输出应精确到6个有效数字或在10^-6实际值以内,以对给定值的限制较小为准。Python的内置Gamma函数将用于确定实际值。您可能会假设Γ(t)已定义-即是t正实数或非整数负实数-且那个|Γ(t)| ≤ 10^9。这是一个参考程序,您可以使用它使用Python的内置Gamma函数来获取实际值。 例子 1 -> 1.000000 -2.5 -> -0.945309 3.14159265 -> 2.288038 -2.71828182846 -> -0.952682 12 -> 39916800.000000 0.5 -> 1.772454 8.675309 -> 20248.386956 -10.1 -> -0.000002 规则 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 禁止出现标准漏洞。 输入和输出可以以您的语言视为标准的任何方式执行。 您可以编写完整的程序,函数或通常被认为是您的语言有效答案的任何内容 排行榜 这篇文章底部的堆栈摘录从答案a)生成排行榜,答案是每种语言的最短解决方案列表,b)则是总体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: …

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.