Questions tagged «math»

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

30
我的三角形对吗?
给定a, b, c一个三角形的三个边的长度,请说该三角形是否为直角(即,一个角度等于90度)。 输入项 任何顺序的三个正整数值 输出量 无论是具体的真实输出(true,1,yes,...)或特定假输出(false,0,no,...) 例 5, 3, 4 --> yes 3, 5, 4 --> yes 12, 37, 35 --> yes 21, 38, 50 --> no 210, 308, 250 --> no 规则 输入和输出可以任何方便的格式给出。 在您提交的文件中,请注明正确和错误的值。 无需处理负值或无效的边缘三倍 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

30
井中的蜗牛
背景 有一个常见的谜语,像这样: 一只蜗牛在30英尺深的井底。蜗牛每天都能爬3英尺。晚上睡觉时,它们会向后滑动2英尺。蜗牛要离开井需要多少天? 直观的答案是 30天,因为蜗牛每天以1英尺的高度爬30天才能到达山顶, 但实际上答案是 28天,因为一旦蜗牛悬空了27英尺(27天之后),他们将在28天简单地将剩下的3英尺爬到顶部。 挑战 这个挑战笼罩了这个谜语。给定三个正整数作为输入,代表总高度,爬升高度和下降高度,返回从井中爬升所需的天数。 如果蜗牛不能爬出井,则可以返回0,返回假值或引发异常。您也可以编写仅当存在解决方案时才会停止的代码。 如果愿意,可以将跌落高度作为负整数。 测试用例 (30,3,2)-> 28 (84,17,15)-> 35 (79,15,9)-> 12 (29,17,4)-> 2 (13,18,8)-> 1 (5,5,10)-> 1 (7,7,7)-> 1 (69,3,8)->无 (81,14,14)->无 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。

30
打一个超越性的数字
定义 代数数是具有整数系数的非零多项式的零。例如,的平方根2是代数,因为它是的零x^2 - 2。 超越数是不是代数的实数。 任务 您将选择一个先验数字。 然后,编写一个使用正整数的程序/函数,并在所选先验数字的小数点后n输出第- n个十进制数字。您必须在提交的文件中清楚说明使用了哪个先验编号。 您可以使用0索引或1索引。 例 e^2=7.389056098...是一个先验数字。对于此号码: n output 1 3 2 8 3 9 4 0 5 5 6 6 7 0 8 9 9 8 ... 请注意,首字母缩写7被忽略。 如前所述,您可以选择其他先验数字。 计分 这是代码高尔夫球。最低得分(以字节为单位)获胜。
46 code-golf  math  number 

27
除数的天际线
对于任何正整数k,令d(k)表示的除数k。例如,d(6)是4,因为6具有4除数(即1,2,3,6)。 给定一个正整数N,使用固定的字符,使得“建筑物”位于水平位置的高度显示ASCII技术中的“地平线” k是d(k)为k = 1, ..., N。请参阅下面的测试案例。 规则 可以一致地使用任何非空白字符,不一定非要#如测试用例所示。 该算法在理论上应该适用于任意高N。实际上,如果程序受时间,内存,数据类型大小或屏幕大小的限制,这是可以接受的。 允许水平或垂直前导或尾随空格或换行符。 输入和输出可以通过任何合理的方式进行。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 N = 10: # # # # # ### ######### ########## N = 50: # # # # # # # # # # # # # # # # # # # # # …

30
乘法持久性
乘法持久性 将一个数字中的所有数字相乘 重复直到您剩下一位数 正如Numberphile解释的那样: Numberphile “ 277777788888899有什么特别之处?” Numberphile “乘法持久性(额外镜头)” 例 277777788888899→2x7x7x7x7x7x7x8x8x8x8x8x8x9x9 = 4996238671872 4996238671872→4x9x9x6x2x3x8x6x7x1x8x7x2 = 438939648 438939648→4x3x8x9x3x9x6x4x8 = 4478976 4478976→4x4x7x8x9x7x6 = 338688 338688→3x3x8x6x8x8 = 27648 27648→2x7x6x4x8 = 2688 2688→2x6x8x8 = 768 768→7x6x8 = 336 336→3x3x6 = 54 54→5x4 = 20 20→2x0 = 0 顺便说一下,这是当前记录:最小的数字和最大的步数。 高尔夫球 该程序以任何整数作为输入,然后从输入本身开始输出每个步骤的结果,直到我们碰到一位数字为止。对于277777788888899,输出应为 277777788888899 4996238671872 438939648 4478976 …

30
有已知的
美国前国防部长唐纳德·拉姆斯菲尔德(Donald Rumsfeld)著名地推广了“已知的已知物”。在这里,我们将把他的言论提炼成四行节。 具体来说,输出以下文本: known knowns known unknowns unknown knowns unknown unknowns 大小写无关紧要(例如,Known unKnowns可以),可以使用单行尾的换行符,但不允许其他格式更改。这意味着单词之间有一个空格,行之间有LF(59字节)或CR/LF(62字节)。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

19
绘制/绘制心脏图
您面临的挑战是绘制/绘制以下一颗心。大小必须至少为50x50像素(可以使用矢量图形)。您可以选择要绘制/绘制的心。可以接受轴,网格线等。图形上必须至少有 100个不同的坐标/点。如果需要的话,心脏可以充满色彩。 公式为: 要么 t在范围内[-1, 1]。 要么 要么 这是代码高尔夫球,因此以字节为单位的最短代码(每种语言)获胜。请提供输出(或链接到在线解释器)。

30
没有3的计数
背景 当我上小学时,我们以前在数学课上玩游戏,内容如下。 所有的孩子围成一个大圈,从1开始轮流计数。 但是,在计数时必须跳过以下数字: 是3的倍数的数字。 十进制表示形式为3的数字。 孩子们应该说的前15个数字是 1 2 4 5 7 8 10 11 14 16 17 19 20 22 25 每当有人输入错误的数字(说出顺序不正确的数字或​​跳过出现的数字)时,他就会从圈子中删除。这一直持续到只剩下一个孩子为止。 任务 您在这场比赛中表现不佳,因此决定作弊。编写一个给定序列号的程序或函数,以计算序列的下一个数。 您不必处理无法使用您的语言的本机数字类型表示的数字,只要您的程序在输入251之前可以正常工作,并且您的算法可以在任意大的输入下使用。 输入和输出可以使用任何方便的基础。 由于您必须隐藏代码,因此代码必须尽可能短。实际上,这是code-golf,因此以字节为单位的最短代码获胜。 测试用例 1 -> 2 2 -> 4 11 -> 14 22 -> 25 29 -> 40 251 -> 254

20
大于小于大于大于可疑
给定的一个长度为N的字符串小于和大于号(<,>),插入在所述开始和结束整数0至N和在每对的迹象,使得所有的不等式得到满足的之间。输出结果字符串。如果有多个有效输出,则输出其中任何一个(也只有一个)。 例如 <<><><< 有7个字符,因此必须插入0到7之间的所有数字。有效输出为 2<3<4>1<5>0<6<7 因为所有不等式一次都发生了 2<3 3<4 4>1 1<5 5>0 0<6 6<7 是真的。 如果需要,输出可以在符号周围有空格,例如2 < 3 < 4 > 1 < 5 > 0 < 6 < 7。 以字节为单位的最短代码获胜。 测试用例 空行之后的第一行是输入,下一行是有效的输出示例。 [empty string] 0 < 0<1 > 1>0 << 0<1<2 <> 1<2>0 >< 1>0<2 2>0<1 >> 2>1>0 <<< 0<1<2<3 …

23
十六进制和字母
在此挑战中,您将收到输入,将其转换为十六进制,进行一些更改,然后输出结果。 因为它们只有十六进制的16个字符,所以您的代码将需要尽可能短。 例子 示例用空白行分隔。第一行输入,第二行显示步骤,第三行显示输出 234589 234589 -> 3945D -> 39454 -> 9A1E -> 9115 -> 239B -> 2392 -> 958 958 435234 435234 -> 6A422 -> 61422 -> EFEE -> 5655 -> 1617 1617 153 153 -> 99 -> 99 -> 63 1617 脚步 输入将始终为正整数 为了生成输出,您将遵循以下步骤: 将输入转换为十六进制 将所有字母替换为其字母索引(例如a -> 1, …

30
计算两个平方的和
给定一个非负数n,请输出表示n为两个整数平方的和的方式数n == a^2 + b^2(OEIS A004018)。请注意,a和b可以为正,负或零,并且它们的顺序很重要。最少的字节数获胜。 例如,n=25给出12因为25可以表示为 (5)^2 + (0)^2 (4)^2 + (3)^2 (3)^2 + (4)^2 (0)^2 + (5)^2 (-3)^2 + (4)^2 (-4)^2 + (3)^2 (-5)^2 + (0)^2 (-4)^2 + (-3)^2 (-3)^2 + (-4)^2 (0)^2 + (-5)^2 (3)^2 + (-4)^2 (4)^2 + (-3)^2 这是直到的值n=25。请注意,您的代码适用于n=0。 0 1 1 4 2 4 …

30
广场很时髦
挑战 因此,嗯,看来,尽管我们面临着很多挑战,需要处理平方数或其他形状的数,但是我们没有一个简单地问: 给定一个整数n(where n>=0)作为输入,如果n是完美平方,则返回真实值,否则返回假值。 规则 只要标准I / O规则允许,您可以通过任何合理,方便的方式进行输入。 您不需要处理的输入量不能超过您选择的语言可以处理的输入量,也不会导致浮点数错误。 输出应该是两个一致truthy / falsey值(例如,一个true或false,1或0) - truthy如果输入的是一个完美的正方形,falsey如果它不是。 这是代码高尔夫球,因此最低字节数为准。 测试用例 Input: 0 Output: true Input: 1 Output: true Input: 64 Output: true Input: 88 Output: false Input: 2147483647 Output: false

30
如果AB在AB A中,那么是B?
给定两个整数A和B,如果AB(A减去B)在AB(A到B)中,则输出A,否则输出B。 “ A减B”是标准减法。 “ A到B”是从A到B的整数范围,包括A和B。例如: 1 to 4: 1, 2, 3, 4 -2 to 5: -2, -1, 0, 1, 2, 3, 4, 5 3 to -1: 3, 2, 1, 0, -1 7 to 7: 7 以字节为单位的最短代码获胜。 测试用例 A B Output 1 4 4 -2 5 5 3 -1 -1 7 …

10
只能有1个!
给定正整数n,您的任务是生成等于number的表达式n。 要注意的是:只允许1在输出中输入数字。 您可以使用的运营商是: +,-,*和/ /是浮点除法(so 5/2 = 2.5)。 sqrt(作为s) ceil和floor(分别为c和f) ! (阶乘) 在这种情况下,阶乘仅适用于正整数。 您也可以将堆叠1在一起,因此11在输出中可以接受类似的内容。但是,它们的数量与数量中的相同1(因此11算作2 1)。 您还必须在输出中包括方括号,以便通过操作顺序执行输出时,输出中的表达式将产生输入。但是,它们不算作操作。 例子: 输入= 24,一个可能的输出= (1+1+1+1)! 输入= 11,一个可能的输出= 11 输入= 5,一个可能的输出= c(s((1+1+1+1)!)) 的平方根的上限24是5。 规则: 您可以确保输入是从1到的正整数2^31-1。 2^31-1即使未经测试,您的程序也必须能处理最大为的正整数。 您的程序必须在1小时内完成处理集中所有数字的所有输出。 程序每次运行的结果都必须完全相同-而且,没有种子。 您只能对表达式进行硬编码,最多10个数值。 不允许在输出中的任何地方使用虚数(所以没有s(some negative number))。 也不允许您使用大于2^31-1或小于-2^31+1输出中任何地方的数字,即使当它们是sqrted或/ed(所以no (((1+1+1)!)!)!或((1+1+1+1)!)!)时也是如此。 一组数字: 945536, 16878234, 32608778, 42017515, 48950830, 51483452, 52970263, 54278649, 63636656, 78817406, 89918907, …

26
数学在Anastasiya的世界中如何运作?
背景: 诸如现实世界中的基本加法和乘法之类的标准运算数学工作如下: 12 + 123 = 135 和 12 * 123 = 1476 那没意思,很无聊!许多学校已经将其解释为实践,实践,形式算法的实践。这意味着非常僵化和无聊的数学饮食,而不是此挑战的目的。准备在我们钟爱的网站上玩一些乐趣。 考虑将两个正整数相加,然后再次将其结果的所有数字相加的过程。重复加法运算直到仅获得一位数字。例如: 的结果12 + 123是135。 将得到的所有数字135相加1 + 3 + 5 = 9。 在此重复加法中获得一位数字值9所需的步数为2。 与前面的加法过程一样,两个正整数相乘遵循相同的过程。将结果的所有数字相乘,然后重复此过程,直到只剩下一个数字。拿上面的例子: 结果12 * 123是1476。 将得到的所有数字1476相乘1 * 4 * 7 * 6 = 168。 再次乘以我们获得的所有168位数字1 * 6 * 8 = 48。 再次乘以我们获得的所有48位数字4 * 8 = …

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.