Questions tagged «math»

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

20
不在序列中的整数之和的序列
背景 考虑定义如下的序列: 第一个元素为0;第二个元素为0。 第二个元素是4; 从第三个元素开始,其值可以通过以下方式计算: 取从0到序列的前一个元素的整数集(包括或不包括); 从集合中删除序列中较早出现的所有整数; 将集合的其余元素加在一起;那就是您想要的价值。 有趣的是,此序列似乎尚未在OEIS上。 任务 编写一个程序或函数,将整数n作为输入,并输出序列的第n个元素。 测试用例 该序列的前几个元素是: 0 4 6(1 + 2 + 3) 11(1 + 2 + 3 + 5) 45(1 + 2 + 3 + 5 + 7 + 8 + 9 + 10) 969(1 + 2 + 3 + 5 + …

2
固定图像
我喜欢希尔伯特曲线。 解决此挑战的任务是拍摄一张图像(严格来说是一个正方形图像,其所有侧面都是2像素的幂),然后以Z字形方式逐行展开,并以伪希尔伯特曲线将其拉回。 拆散 要解散,您将从左上角的像素开始向右移动,直到到达图像边缘。触及图像边缘后,您将向下移动到下一行并开始向左移动,直到再次触碰边缘。您将继续逐行展开方向,每次切换方向,以便获得一条连续曲线。这看起来像是玩耍的蛇游戏 拆散的结果应该是一个像素顺序,其中每个像素恰好包含一次 列队 订购像素后,您将按照伪希尔伯特曲线的路径在新的大小相同的画布上重新排列它们。对于2**n正方形图像,应使用伪希尔伯特曲线的第n次迭代。每个像素将恰好放置在新画布上的一个位置。您应该重新排列图像,以便原来在左上角(蛇形曲线的起点)的点将保留在那里,而在右下角(蛇形曲线的终点)的点将放置在右上角。 输入输出 您的程序或函数应通过标准方法获取指定约束的图像,并通过标准方法输出另一图像。 计分 这是具有最少字节胜利的代码高尔夫程序。 例子 输入值 输出量 输入值 输出量 输入值 输出量 我还建议对空白的白色或纯色图像进行测试,以确保您没有丢失任何像素。 随意将自己的结果包括在答案中!

11
Sidi多项式系数的绝对和
背景 次数为n的Sidi多项式或第(n + 1)个 Sidi多项式定义如下。 Sidi多项式具有几个有趣的性质,但是它们的系数也是如此。后者形成OEIS序列A075513。 任务 编写一个完整的程序或函数,给定一个非负整数n,该函数将打印或返回度为n的Sidi多项式的系数的绝对和,即 这些和形成OEIS序列A074932。 如果您更喜欢基于1的索引,则可以取正整数n代替,并计算第n 个 Sidi多项式的系数的绝对和。 因为这是code-golf,所以您必须使代码尽可能短。所有标准规则均适用。 测试用例(从0开始) n Σ 0 1 1 3 2 18 3 170 4 2200 5 36232 6 725200 7 17095248 8 463936896 9 14246942336 测试用例(基于1) n Σ 1 1 2 3 3 18 4 170 5 2200 6 …

16
输出欧拉数
给定非负整数输出欧拉数(OEIS A122045)。n,n,n ,nthnthn^{\text{th}} 所有奇数索引的欧拉数均为可以使用以下公式计算偶数索引的欧拉数(表示虚数单位): 0.0.0 .i≡−1−−−√i≡−1i \equiv \sqrt{-1}E2n=i∑k=12n+1∑j=0k(kj)(−1)j(k−2j)2n+12kikk.E2n=i∑k=12n+1∑j=0k(kj)(−1)j(k−2j)2n+12kikk. E_{2n} = i \sum_{k=1}^{2n+1}{ \sum_{j=0}^{k}{ \left(\begin{array}{c}k \\ j \end{array}\right) \frac{{\left(-1\right)}^{j} {\left(k-2j\right)}^{2n+1}}{2^k i^k k} } } \,. 规则 nnn将是一个非负整数,因此欧拉数在您的语言可表示的整数范围内。nthnthn^{\text{th}} 测试用例 0 -> 1 1 -> 0 2 -> -1 3 -> 0 6 -> -61 10 -> -50521 20 -> 370371188237525

1
给定一个圆的列表,输出包含最小矩形的区域
将为您提供半径列表,您必须输出它们都将适合的最小矩形区域。 例如,给定列表,[5,3,1.5]您将输出157.460。 这是图像: 宽度为15.7460,高度为10,因此面积为157.460 规则: 您可以通过stdin或function参数获取列表,通过stdout或function return输出答案。 半径最多有2个小数位。 该列表的长度在2到6之间。 输出应精确到小数点后3位或更多。 如果需要,π= 3.1416。 测试用例: [5,3,1.5] = 157.460 [9,4,8,2] = 733.431- 在这里工作。 [18,3,1] = 1296.000 以字节为单位的最短代码获胜。

12
一零分红
挑战说明 对于每个正整数n,存在一个其形式111...10...000可被n整数整除的数字,即以all开头并以all 1结尾的十进制数0。这很容易证明:如果我们采用(全)n+1形式的一组不同数字,那么除以后(根据信鸽原理),至少其中两个将给出相同的余数。这两个数字的差可以被期望的形式整除。您的目标是编写一个找到该数字的程序。111...1111nn 输入说明 一个正整数。 输出说明 许多p的形式111...10...000,使得p ≡ 0 (mod n)。如果找到多个-请显示其中任何一个(不一定是最小的)。 笔记 您的程序必须在合理的时间内给出答案。这意味着不允许强行使用: p = 0 while (p != 11..10.00 and p % n != 0) p++ 这也不是: do p = random_int() while (p != 11..10.00 and p % n != 0) 11..10..00允许以形式遍历数字。 您的程序不需要处理任意大的输入-上限就是您语言的上限。 样本输出 2: 10 3: 1110 12: …

26
这是史密斯号码吗?
挑战说明 甲史密斯号码是一个复合数字,其数字之和等于的质因子数字之和的总和。给定一个整数N,确定它是否是史密斯数。 最初的几个史密斯数字是4,22,27,58,85,94,121,166,202,265,274,319,346,355,378,382,391,438(序列A006753在OEIS)。 样本输入/输出 18: False (sum of digits: 1 + 8 = 9; factors: 2, 3, 3; sum of digits of factors: 2 + 3 + 3 = 8) 22: True 13: False (meets the digit requirement, but is prime) 666: True (sum of digits: 6 + 6 + …

30
简单的整数运算计算器
实现一个简单的整数运算可编写脚本的计算器。 概念 累加器从0开始并对其执行操作。在程序末尾输出累加器的值。 操作方式: +添加1到累加器 -1从累加器中减去 * 将累加器乘以 2 / 将累加器除以 2 样例脚本 输入++**--/应该给出输出3。 示例实施 def calc(s) i = 0 s.chars.each do |o| case o when '+' i += 1 when '-' i -= 1 when '*' i *= 2 when '/' i /= 2 end end return i end …

25
多维数组的索引
较低级的语言(例如C和C ++)实际上没有多维数组的概念。(向量和动态数组除外)使用以下方法创建多维数组时 int foo[5][10]; 这实际上只是语法糖。C真正要做的是创建一个由5 * 10个元素组成的连续数组。这个 foo[4][2] 也是语法糖。这实际上是指 4 * 10 + 2 或者,第42个元素。一般地,元件的索引[a][b]在阵列foo[x][y]是在 a * y + b 相同的概念适用于3d阵列。如果我们有foo[x][y][z]并且访问元素,那么[a][b][c]我们实际上是在访问元素: a * y * z + b * z + c 这个概念适用于n维数组。如果我们有一个具有维度的数组D1, D2, D3 ... Dn并且我们访问元素,S1, S2, S3 ... Sn则公式为 (S1 * D2 * D3 ... * Dn) + …

15
说明二项式的平方
给定(通过任何方式)两个不同的自然数(任何合理大小),输出(通过任何方式)其总和的平方,如下例所示: 给定4和3,输出: 12 12 12 12 9 9 9 12 12 12 12 9 9 9 12 12 12 12 9 9 9 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 …

23
用数字三角形总结
好吧,总结一下。 编写一个程序或函数,该程序或函数接受一个非空的十进制整数列表(0-9),并输出一个向下的数字“三角形”,输入列表在顶部,其中第一行之后的每个数字都是两位数字的总和以10为模 例如,输入[7, 5, 0, 9]有输出 7 5 0 9 2 5 9 7 4 1 因为2是(7 + 5) mod 10,5是(5 + 0) mod 10,9是(0 + 9) mod 10,等一路1为(7 + 4) mod 10。 如果列表中只有一项,则输出与输入匹配;否则,输出与输入匹配。例如[4]将产生的输入 4 以下是一些其他示例: [0] 0 [1, 2] 1 2 3 [8, 7] 8 7 5 [0, 0] …

11
找出优质素数之间的最大差距
遵循诸如“ 查找最大素数”之类的问题的优良传统,该最大素数的长度,总和和积为素数,这是最大素数挑战的一种变体。 输入值 您的代码不应接受任何输入。 定义 我们说的黄金p是good,如果p-1恰好有2明显的质因数。 输出量 您的代码应输出连续的良好质数之间的绝对差q,p因此,|q-p|它应尽可能大,并且q是大于的最小良好质数p。您可以输出任意数量的好对,最后的输出将作为得分。 例 前55个素数的顺序为https://oeis.org/A067466。 得分 您的分数只是|q-p|针对您输出的一对优质素数。 语言和图书馆 您可以使用任何您喜欢的语言或库(不是针对此挑战而设计的),除了用于素数测试或分解整数的任何库函数。但是,出于计分的目的,我将在计算机上运行您的代码,因此请提供有关如何在Ubuntu上运行代码的明确说明。 我的机器时间将在我的机器上运行。这是在8GB AMD FX-8350八核处理器上的标准Ubuntu安装。这也意味着我需要能够运行您的代码。 细节 2分钟后,我将杀死您的代码,除非它在此之前开始耗尽内存。因此,应确保在切断之前输出某些内容。 您不得使用任何外部质数来源。 尽管我告诉我,好的表可以使Miller-Rabin确定性地测试多达341,550,071,728,321(甚至更高),但是您可以使用概率素数测试方法。另请参见http://miller-rabin.appspot.com/。 检查1中所有整数的最佳条目 Go中的756条猫 756由El'endia Starman用Python设计 1932年,Adnan用C#编写(使用Mono 3.2.8) 2640通过在雪人的Python(使用pypy 4.01) 2754 by Reto Koradi在C ++中 3486由Peter Taylor在Java中 RPython中 primo的3900(使用pypy 4.01) Java中的The Coder 4176 可能会跳过大量整数以找到较大差距的最佳条目 Reto Koradi编写的14226在C ++中 RPython中 primo的22596(使用pypy 4.01)。5秒后达到记录!

5
高级计算器
您必须编写一个程序,该程序对将输入高级计算器的字符串进行求值。 程序必须使用stdin接受输入并输出正确答案。对于不具有接受stdin函数的语言,您可以使用这些函数readLine并print处理这些任务。 要求: 不使用任何“评估”功能 可以处理浮点数和负数 至少支持+,-,*,/和^运算符 支持括号和括号以覆盖正常顺序 可以处理在运算符和数字之间包含一个或多个空格的输入 使用标准操作顺序评估输入 测试用例 输入值 10 - 3 + 2 输出量 9 输入值 8 + 6 / 3 - 7 + -5 / 2.5 输出量 1 输入值 4 + [ ( -3 + 5 ) * 3.5 ] ^ 2 - 12 输出量 41
28 code-golf  math 

30
在不使用'^'的情况下实现超指数运算
挑战 用最少的字符实现四边形(又名Power Tower或Hyperexponentiation)。 条件 不要使用“功率”操作符或它的等价物(如pow(x,y),x^y,x**y等) 输入形式为:(x y以空格分隔) x本身乘幂y。 您的方法必须至少能够计算4 3(4次自身取幂3次) 计分 最低分获胜:(字符数) 如果您不使用乘法运算符(-5分),则扣除奖金。 没有速度/内存要求。只要你想。 例子 x, 0 -> 1 2, 2 -> 2^2 = 4 2, 4 -> 2^(2^(2^2)) = 65536 4, 3 -> 4^(4^4) = 4^256 = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 接受建议/改变/问题
28 code-golf  math 

21
寻找主要差距
一个主要的差距是连续两个素数之差。更具体地,如果p和q是p<q且p +1,p +2,...,q -1不是素数的素数,则素数p和q定义了n = q - p的间隔。的间隙被认为是开始由p,并具有长度 Ñ。 已知存在任意大的主要间隙。即,给定n,则存在长度为n或更大的素数间隙。但是,可能不存在长度恰好为n的素数间隙(但会更大)。 挑战 给定一个正整数n,输出第一个素数,该素数开始于length n或更大的间隙。 例如,对于输入4,输出应为7,因为7和11是相差至少4的第一个连续质数(先前的间隔是1,从2到3; 2,从3到5;以及2,从5至7)。对于输入3,答案也应该是7(没有长度为3的间隙)。 附加规则 该算法在理论上应该适用于任意高n。实际上,如果程序受时间,内存或数据类型大小的限制,这是可以接受的。 输入和输出可以通过任何合理的方式进行。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 Input -> Output 1 2 2 3 3 7 4 7 6 23 10 113 16 523 17 523 18 523 30 1327 50 19609 100 370261 200 20831323

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.