Questions tagged «math»

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

14
搭载顺序
我最近创建了自己的序列(称为背负序列),其工作方式如下: P(1),P(2)和P(3)= 1。 对于所有P(n)where n>3,序列的工作方式如下: P(n) = P(n-3) + P(n-2)/P(n-1) 因此,继续执行以下步骤: P(4)= 1 + 1/1=2 P(5)= 1 + 1/2= 3/2 =1.5 P(6)= 1 + 2/(3/2)= 7/3 =2.33333... P(7)= 2 + (3/2)/(7/3)= 37/14=2.6428571428... P(8)= 3/2 + (7/3)/(37/14)= 529/222 =2.3828828828... 给定任务后,您可以将其n计算P(n)为浮点数或适当的分数。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 如果有人可以找到序列的名称,请相应地编辑帖子。 现任领导人:MATL和Jelly(均为15字节)。
14 code-golf  math 

11
我只用美元付款
作为标题-尽管是离散的-暗示,我只用美元支付。 挑战 编写一个将字符串作为输入的函数/程序,该字符串是货币值,后跟一个符号。ex) £4.99。然后,将相同的金额返回转换为美元。 输入值 您将获得一个字符串作为输入。它将带有货币符号,后跟一个带两位小数的数字(可能是.00)。用小数点.和/或逗号,分隔数字。以下货币符号将出现在输入中: 欧元:€ 英镑:£ 人民币:¥ 另外,根据货币的不同,会用逗号或小数点将“美元”与“美分”分开: 欧元:#。###,## 英镑:#,###。## 人民币:#,###。## 输出量 您将输入内容从符号确定的货币转换为USD,四舍五入到小数点后两位。输出将采用format格式$#,###.##,如果需要的话,输出的左边当然会有更多数字(编辑:这意味着输出中有任意数量的逗号,就像输入中一样)。我们将使用的货币汇率如下。 您可以假定输入中包含的符号仅是上述(€ £ ¥ . ,)之一-始终有效。 汇率 €1 : $1.10 £1 : $1.37 ¥1 : $0.15 例子 Input: €1,37 £4.00 ¥2,782,122.78 Respective output: $1.51 $5.48 $417,318.42 最后的话 如果您使用上述符号之一(€,£,¥),则可以将它们计为1个字节 这是代码高尔夫,所以最短的代码以字节为单位!
14 code-golf  math  string 

6
ASCII艺术玛雅数字
这个挑战很简单。给定一个数字,请使用Mayan Base-20数字系统输出该数字的科学表示形式。 什么是玛雅系统? 玛雅人以20为底来存储数字,因此第一个位置是1s位置,第二个位置是20s位置,然后是400s,依此类推。 因此,玛雅编号以10 1为1底,但10实际上20以10 207为807底,以10 为底,依此类推。 他们用象形文字表示数字,并用特殊符号表示0。 ------------------- | | | | | | | | | | |-------------------| | | | | ------------------- 那是他们的零。(至少一半的picascii一半我的艺术性ascii艺术版本) 那是玛雅零符号的真实图片。1个 这是他们的五个: -------------------------------- | | -------------------------------- 还有一个4: ---- ---- ---- ---- | | | | | | | | | | | | …

11
正整数的严格分区
OEIS A000009计算整数的严格分区数。甲严格分区一个非负整数的n是一组正整数(因此没有重复是允许的,并且顺序无关紧要),其总和n。 例如,5有三个严格分区:5,4,1,和3,2。 10有十个分区: 10 9,1 8,2 7,3 6,4 7,2,1 6,3,1 5,4,1 5,3,2 4,3,2,1 挑战 给定一个非负整数n<1000,输出其具有的严格分区数。 测试用例: 0 -> 1 42 -> 1426 这是OEIS中从0到55的严格分区号的列表: [1,1,1,2,2,3,4,5,6,8,10,12,15,18,22,27,32,38,46,54,64,76,89,104,122,142,165,192,222,256,296,340,390,448,512,585,668,760,864,982,1113,1260,1426,1610,1816,2048,2304,2590,2910,3264,3658,4097,4582,5120,5718,6378] 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。

5
二元函数的性质
抽象代数中的许多重要主题都涉及对集合起作用的二进制函数。在研究此类主题时,已定义了此类功能的许多属性。 您的挑战将是确定给定域上的给定二进制函数是否拥有这些属性中的五个。 物产 关闭 如果每个可能的输出都在域中,则关闭二进制函数。 关联性 如果将二进制函数应用于一系列输入的顺序不影响结果,则该二进制函数为关联函数。也就是说,$如果(a $ b) $ c始终等于,则是关联的a $ (b $ c)。请注意,由于该值(a $ b)用作输入,因此必须关闭关联功能。 可交换性 如果交换输入的顺序不会更改结果,则二进制函数是可交换的。换句话说,如果a $ b始终等于b $ a。 身分识别 如果e域中存在某个元素,则二元函数将具有一个identity元素,a $ e = a = e $ a以便a该域中的所有元素都具有。 幂等 如果将二进制函数应用于两个相同的输入给出该数字作为输出,则该函数是幂等的。换句话说,如果是域中的a $ a = a所有人a。 输入值 您将获得矩阵形式的函数,该函数的域为数字0 ... n-1,其中n为矩阵的边长。 该值(a $ b)在矩阵中被编码为第at行的bth元素。如果输入矩阵为Q,则a $ b=Q[a][b] 例如,**域上的幂函数(在Python中)[0, 1, …

5
我需要将多少个平方,立方,四次幂等求和为n?
您会得到一个非负整数n和一个integer p >= 2。您需要将一些次p幂(p=2即正方形,p=3表示立方体)加在一起才能得到n。这始终适用于任何非负数n,但您不知道需要多少次p幂(任何正整数)。 这是您的任务:找到p可以求和的最小n 次方n。 例子 >>> min_powers(7, 2) 4 # you need at least four squares to add to 7 # Example: (2)^2 + (1)^2 + (1)^2 + (1)^2 = 4 + 1 + 1 + 1 = 7 >>> min_powers(4, 2) 1 # you need at least …

4
解释StackyMath!
是时候实施我新的基于堆栈的语言了!它称为StackyMath。这将是一种基于堆栈的语言,在堆栈上有8种操作以及向堆栈中添加数字的方式。 操作清单: /:司。在堆栈的前2个数字上执行。将结果推回堆栈。 *:乘法。在堆栈的前2个数字上执行。将结果推回堆栈 -:减法。在堆栈的前2个数字上执行。将结果推回堆栈 +:加法。在堆栈的前2个数字上执行。将结果推回堆栈 ^:求幂。在堆栈的前2个数字上执行。将结果推回堆栈 %:模数。在堆栈的前2个数字上执行。将结果推回堆栈 !:阶乘。在堆栈上的最高编号上执行。将结果推回堆栈 D:复制堆栈上的最高编号 用伪代码定义的操作: /: push(pop divided by pop) *: push(pop times pop) -: push(pop minus pop) +: push(pop plus pop) ^: push(pop to the pop) %: push(pop mod pop) !: push(factorial pop) D: t = pop; push(t); push(t) 如何将数字压入堆栈: 将数字添加到堆栈很容易,只需将原始数字放在您需要的程序中即可。如果您需要在堆栈上放置多个数字,可以用逗号(,)分隔它们。您的程序将不需要处理-输入中的数字,如果用户想要一个数字,则应按想要取反的数字,然后按0和-。程序输入中的数字也限制为正整数。 输入: 您的程序应从命令行或从std …

12
所有人都说……
目标给定不包含字符[或的文本输入],请执行以下操作: 对于Amen具有至少一个大写字母的每个实例(因此,所有Amen不包含的实例amen),都输出相同的名称Amen(保留大写)。 对于/all the people said[?: ]/i(这是一个正则表达式)的每个实例,还输出Amen(任何情况都可以)。 在每个输出之后,您可以选择任何常量分隔符,例如换行符,空格或什么都不做。 这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 IO范例 Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah blah blah* And all the people said? Output: …

4
计算给定大小的阿贝尔群
背景 上一次,我们计算了给定大小的组,这不是一个简单的问题。 这次,我们将仅计算Abelian组,即具有可交换运算的组。形式上,一组(G,*)是阿贝尔如果X * Y = Y * X为所有的x,y在ģ。 这种方法使问题变得更加简单,因此我们将有效地对其进行计数。 任务 编写一个程序或函数,该程序或函数接受一个非负整数n作为输入,并打印或返回n阶的非同构阿贝尔群。 一种计算组数的方法(将用A(n)表示)是通过观察以下内容: A(0)= 0 如果p是素数,则A(p k)等于k的整数分区数。(由OEIS A000041提供) 如果n = mk,并且m和k是互质的,则A(n)= A(m)A(k)。 您可以使用此方法或任何其他方法来计算A(n)。 测试用例 Input Output 0 0 1 1 2 1 3 1 4 2 5 1 6 1 7 1 8 3 9 2 10 1 11 1 …

1
计数坎宁安链
素数总是让人着迷。2300年前,欧几里得在他的《元素》中写道 质数是仅由一个单位测量的质数。 这意味着素只能被 1(或本身)。 人们一直在寻找素数之间的关系,并提出了一些非常奇怪的东西(如“有趣的”)。 例如,一个索菲·热尔曼质数是一个主要p针对2*p+1也是素数。 一个安全素是一种主要p用于哪些(p-1)/2也是黄金,而这正是一个索菲·热尔曼质数的倒退状态。 这些与我们在此挑战中寻找的东西有关。 一个坎宁安链型我是一系列素数,其中除了最后一个的每一个元素是的索菲·热尔曼质数,而除了第一个的每一个元素是一个安全的黄金。该链中元素的数量称为它的length。 这意味着我们从素数开始p计算q=2*p+1。如果也q为质数,则我们有长度为2的I型Cunnigham链。然后进行测试2*q+1,以此类推,直到下一个生成的数字为复合数为止。 II型坎宁安链是按照几乎相同的原理构造的,唯一的区别是我们检查了2*p-1在每个阶段。 坎宁安链的长度可以为1,这意味着2 * p + 1和2 * p-1都不是素数。我们对这些不感兴趣。 坎宁安链的一些例子 2启动长度为5的I型链。 2, 5, 11, 23, 47 下一个构造的数字95不是素数。 这也告诉我们,那5,11,23和47不启动类型的任何链我,因为这将有前述的元素。 2也开始长度为3的II型链。 2, 3, 5 接下来是9,这不是素数。 让我们尝试II11型(之前我们将其排除在I型之外)。 好吧,接下来是下一个,它不是素数,因此该“链”的长度为1,我们不将其计入此挑战。21 挑战 写一个程序或功能,给定一个号码n作为输入,写入/返回的起始数第n个的坎宁安链I或II型的至少长度为2,后跟一个空格,随后链的类型它开始(我或II),然后是冒号,然后是该类型链的长度。万一素数同时启动两种类型的链(类型I 和型 II型),则首先计算型链。 例: 2 I:5 请记住,这n可能是任何类型的先前启动链的一部分,在这种情况下,不应将其视为该类型链的起始编号。 让我们看看这是如何开始的 我们从开始2。由于它是第一个素数,因此我们可以确定没有链从包含的较低素数开始2。 类型I中的下一个数字将是2*2+1 == 5。5是素数,因此我们已经有了至少长度为2的链。 我们将其视为第一条链。那II型呢?下一个号码是2*2-1 == 3。3是素数,因此II型的链长也至少为2。 …

11
清空一个游泳池。。。只带一个红色独奏杯
您有一个充满水的游泳池。您需要清空它,但您无法想到一种有效的方法。因此,您决定使用红色的独奏杯。您将一路重复装满杯子并将其倾倒在游泳池外。 挑战 清空游泳池需要多长时间? 输入值 [shape of pool] [dimensions] [shape of cup] [dimensions] [speed] shape of pool将这些字符串之一:circle,triangle或rectangle。请注意,这些实际上是指3维形状:圆柱,三角形棱柱和矩形棱柱。 dimensions 会因形状而异。 圈子:[radius] [height]。体积=πr 2 h 三角形:[base] [height] [length]。体积= 1/2(bh)*长度 矩形:[width] [length] [height]体积= lwh shape of cup并dimensions以相同的方式工作。杯子也可以是圆形,三角形或矩形。 speed是几秒钟内倒空一杯水所需的时间。 输出量 清空游泳池所需的秒数。可以四舍五入到最接近的秒数。 笔记 输入中将没有单位。假定所有距离单位都相同(形状不会以英寸为单位的高度和以英尺为单位的宽度)。 将3.14用于pi。 输入将由字符串和浮点数组成。 永远不会下雨。永远不会添加水。 您的手非常稳固。每次您都将杯子完全塞满边缘,而且绝对不会溢出。 一旦接近尾声,将很难捞出一整杯水。您无需为此担心。您非常强壮,因此您可以将游泳池倾斜到其一侧(无需花费更多时间)。 每次进行计算时,都可以四舍五入到最接近的百分之一。您的最终答案将不一定是准确的。 测试用例 输入:triangle 10 12.25 3 circle …

7
找到每个尺寸Toeplitz矩阵的最大行列式
对于固定的n,请考虑条目为0或1 的n×n Toeplitz矩阵。目的是在所有此类Toeplitz矩阵上找到最大行列式。 任务 对于n从1到更高的每个,输出在所有n×n Toeplitz矩阵上的最大行列式,其条目为0或1。每个输出n应该有一个最大行列式的输出,并且有一个达到它的示例矩阵。 得分了 您的分数是n您的代码在我的计算机上2分钟内获得的最高分。为了澄清一点,您的代码总共可以运行2分钟,而不是每个2分钟n。 抢领带 如果两个条目获得相同的n分数,那么获胜的条目将是n在我的机器上最短时间内获得最高得分的条目。如果两个最佳作品在此标准上也相等,那么获胜者将是第一个提交的答案。 语言和图书馆 您可以使用任何喜欢的免费语言和库。我必须能够运行您的代码,因此请尽可能提供有关如何在Linux中运行/编译代码的完整说明。 我的机器时间将在我的机器上运行。这是在AMD FX-8350八核处理器上的标准ubuntu安装。这也意味着我需要能够运行您的代码。 小答案 对于n = 1..10,输出应为1,1,2,3,5,9,32,56,125,315 此顺序不在OEIS中,因此获胜作品也可以在那里提出新的作品。 到目前为止的条目 n=10 n=11由Vioz在Python中 n=9由Tyilo在C中 n=12由Legendre in J n=10由Tensibai在R中 n=14由SteelRaven在C ++中 n=14由RetoKoradi在C ++中

5
确定旋转矩形的尺寸
此堆栈代码段在黑色背景上绘制了一个别名白色矩形,并为其尺寸,位置,角度和网格尺寸提供了参数: <style>html *{font-family:Consolas,monospace}input{width:24pt;text-align:right;padding:1px}canvas{border:1px solid gray}</style><p>grid w:<input id='gw' type='text' value='60'> grid h:<input id='gh' type='text' value='34'> w:<input id='w' type='text' value='40'> h:<input id='h' type='text' value='24'> x:<input id='x' type='text' value='0'> y:<input id='y' type='text' value='0'> θ:<input id='t' type='text' value='12'>° <button type='button' onclick='go()'>Go</button></p>Image<br><canvas id='c'>Canvas not supported</canvas><br>Text<br><textarea id='o' rows='36' cols='128'></textarea><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function toCart(t,a,n,r){return{x:t-n/2,y:r/2-a}}function vtx(t,a,n){return{x:n.x+t*Math.cos(a),y:n.y+t*Math.sin(a)}}function sub(t,a){return{x:t.x-a.x,y:t.y-a.y}}function dot(t,a){return t.x*a.x+t.y*a.y}function inRect(t,a,n,r){var …

5
将x-illion转换为标准格式
给定一个字符串,该字符串包括一个前缀,然后是“ illion”,请将此数字转换为标准格式。 例如: "million" -> 10^6 "trillion" -> 10^12 "quattuordecillion" -> 10^45 该程序必须能够处理高达100%的输入,即10 ^ 303。可以在此处找到名称及其标准格式值的列表-请注意,这会为每10 ^ 3增量(直到10 ^ 63)给出值,但随后会以10 ^ 30增量给出值,但是这种模式非常简单。 该程序需要处理所有100种情况(甚至没有提供的网站明确给出的情况)-以下是一些示例: "sexvigintillion" -> 10^81 "unnonagintillion" -> 10^276 "octotrigintillion" -> 10^117 输入可以通过STDIN,函数参数或硬编码为字符串来给出。 这是代码高尔夫球,所以最短的代码胜出!

4
是时候做数学了
介绍 这是我最喜欢的数学难题之一。 给定一个数字(例如3)和使用该数字的次数(例如5),请生成10个表达式,仅使用+即可得出1、2、3、4、5、6、7、8、9和10 -,×,÷,^和√(根)(允许使用括号将操作分组)。 例如: (3^3 + 3)/(3 + 3) = (33 - 3)/(3 + 3) = 3 + 3/3 + 3/3 = 5 请注意,以上所有方法均使用5个3和数学运算并将结果求和为5。您也可以在√之前使用3表示立方根。对于在√之前使用4表示第四个根,也是如此。 另请注意,可以使用两个3来形成33,或者可以使用三个3来形成333,依此类推。 挑战 您将获得两个数字(范围从1到5)作为函数参数,STDIN或命令行参数。 第一个数字表示要使用哪个数字,第二个数字表示要在表达式中使用该数字的次数。 您的程序应输出大小为10(或10个以空格分隔的数字)的数组,其中每个元素表示是否(index + 1)可以使用真/假值来计算(仅使用允许的运算符)得出该数字的数学表达式。 例如,如果输入是 1 3 然后输出应该是 [1, 1, 1, 0, 0, 0, 0, 0, 0, 1] 因为只能使用三个1来表示1、2、3和10。 得分了 这是一个代码高尔夫球,因此以字节为单位的最小代码长度为准。 奖金 …

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.