Questions tagged «math»

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

28
这是普罗斯数吗?
一个普罗斯数,弗朗索瓦·普罗斯命名,是可以表示为一个数 N = k * 2^n + 1 其中k是奇数个正整数,n是一个这样的正整数2^n > k。让我们使用一个更具体的例子。取3。3是Proth数,因为它可以写成 (1 * 2^1) + 1 并2^1 > 1感到满意。5也是Proth编号,因为它可以写为 (1 * 2^2) + 1 并2^2 > 1感到满意。但是,7 不是 Proth编号,因为以表格形式写入的唯一方法N = k * 2^n + 1是 (3 * 2^1) + 1 并且2^1 > 3不满意。 您面临的挑战非常简单:给定正整数,您必须编写一个程序或函数,确定该程序或函数是否是Proth数字。您可以采用任何合理的格式输入,如果输出是Proth值,则应输出真实值,如果不是,则应输出错误值。如果您的语言具有“ Proth-number detection”功能,则可以使用它们。 测试IO 以下是前1000个Proth的前46个数字。(A080075) 3, 5, …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
乌鸦与出租车
想象一下,行驶到一个点躺在一个远离水平英里,乙从当前位置英里远垂直。或者换句话说,从(0, 0)起点到终点(a, b)。您需要旅行多远?这似乎是一个简单的问题,但是答案取决于您问的是谁。如果你是一只乌鸦,你可以前往直线距离,行驶距离仅仅是欧氏距离来(a, b)。这是 sqrt(a^2 + b^2) 但是,如果您只是一个无聊的人,那么您真的不想走那么远,因此您需要乘出租车。大多数出租车都不会直线驶向您的目的地,因为他们通常会试图留在道路上。因此,您最终要行驶的实际距离是垂直距离和水平距离的总和。或公式为: abs(a) + abs(b) 这称为出租车距离。这张图片很好地展示了两者之间的区别: 要前往(6, 6),乌鸦只能在绿线上飞行,所以距离6 * sqrt(2)约为8.49。出租车可以走红色,蓝色或黄色的道路,但全部走12条路。 这引出了我要问的真正问题。如果一只乌鸦和一辆出租车都从起点离开(0, 0),然后行驶到终点(a, b),出租车的路程将持续多长时间?或者,用更多的数学术语来说, 给定二维向量,请确定向量的norm2与向量的norm1之间的差。 您必须编写最短的程序或函数才能回答此问题。您可以选择将“ a”和“ b”作为两个单独的输入,或作为两个项目的元组。您可以采用任何合理的格式进行输入和输出。如果差异是非整数,则必须至少精确到两位小数。 您始终可以假设'a'和'b'将是整数,并且它们都不都是0。(尽管它们中的任何一个都可能为零) 像往常一样,存在标准漏洞,并尝试使程序尽可能短(以字节计)。 我将对所有答案进行投票,该答案将说明代码的工作原理,并演示用于保存字节的任何绝妙技巧。 以下是一些示例,可用于测试您的代码: #input #output 3, 4 2 -3, 4 2 -3, -4 2 6, 6 3.51 42, 0 0 10, 10 5.86 3, 3 1.76 …

18
自动进行一年级的计数练习
CodeGolf挑战 PWSSHHHH!您在3000年的一个低温实验室中醒来。在押送至任务分配办公室以接收您的职业筹码(大概是送货员的职业筹码)后,探针会检测到您来自2000年。刻板印象,与当今的现代人相比,你被认为是愚蠢的,被迫重读小学。 您进入一年级教室,老师正在做作业。她会说或写一个不超过50的数字。如果她在黑板上写下该数字(例如:25),那么您必须说不超过该数字的数字“ 1、2、3,...,25 ”。如果她大声说出数字(例如:“六个”),则必须在平板电脑上将数字写成最大为“ 1、2、3、4、5、6” 这变得非常乏味,您决定使用仍在运行的21世纪原始编程知识来自动化该过程。 目的: 您的程序应该接受输入。该输入将是十进制数字(1 thru 50)或写出数字(one thru fifty)。 •如果输入为十进制数字,则您的输出应使用写出样式从一到该数字进行计数。(例如32个) •如果输入是写出的数字,则您的输出应使用小数形式从1计数到该数字。(例如32) 规则: 输入和输出可以在您选择的任何情况下使用(因此,如果需要,您可以制作一个仅接受大写字母的程序)。 输入的十进制数字不必是数字类型(例如int),它们可以是包含数字的输入字符串(25对“ 25”)。两种都很好,您可以选择要让程序接受的一种。(您的程序无需同时接受两者) 书面样式不需要复合词之间的连字符,但是如果需要,可以。 输出值必须以某种形式分隔,任何分隔符都可以 1,2,3 1 2 3 etc 您不能添加额外的库,例如num2words(python)等(但是系统库也可以) 即使背景故事说您来自2000年,您也可以使用在该日期之后创建的语言(lol) 这是代码高尔夫球,因此字节数最短的程序将获胜!

11
不同的任务,相同的角色
在此挑战中,您需要使用同一组字符解决4个不同的任务。您可以重新排列字符,但是不能添加或删除字符。 获奖者将是使用最少的字符数解决所有任务的提交物。所有任务必须以相同的语言解决。 请注意,这是最少数量的字符,而不是最少数量的唯一字符。 任务1: 输出的第一N每第三数的合数。下面的代码块在第一行中显示前19个复合数字,在下面的行中显示每个第三个复合数字。 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30 4, 9, 14, 18, 22, 26, 30 如果是N=5这样,则输出应为4, 9, 14, 18, 22。你必须支持1<=N<=50。 合成数字是不是素数或1的正数。 结果为N=50: 4, 9, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, …

20
计算Carmichael函数
任务描述 在数论中,Carmichael的函数 λ取正整数 Ñ并返回最小正整数ķ使得ķ的每个整数次幂互质到Ñ等于1个模Ñ。 给定正整数n,您的解决方案必须计算λ(n)。以字节为单位的最短代码获胜。 从理论上讲,您的程序应该可以为任意大的输入工作,但是并不需要高效。 提示 所有λ(n)的序列为OEIS A002322。 非高尔夫的Python实现看起来像 from fractions import gcd def carmichael(n): coprimes = [x for x in range(1, n) if gcd(x, n) == 1] k = 1 while not all(pow(x, k, n) == 1 for x in coprimes): k += 1 return k (在Python中,pow(A, B, …

30
斐波那契
定义 F(n)正整数上的斐波那契数列定义如下: 1. F(1) = 1 2. F(2) = 1 3. F(n) = F(n-1) + F(n-2), where n is an integer and n > 2 正整数的斐波那契数是的乘积[F(1), F(2), ..., F(n)]。 任务 给定正整数n,找到的斐波那契n。 眼镜 100合理的计算机必须在5秒钟内计算出fibonacciorial 。 测试用例 n Fibonacci-orial of n 1 1 2 1 3 2 4 6 5 30 6 …

14
总和为15
编写一个程序或函数,该程序或函数将非负整数数组作为输入,并按顺序输出带有输入数组元素的一组向量/数组,并进行拆分,以使每个向量的总和为15。 N个元素不会“命中15个”,那么必须使通过15个元素的数字被截断,其余元素将成为下一个向量的第一个元素。直到您到达输入数组的末尾为止。如果最终向量的总和小于15,则必须在末尾添加一个数字以使总和增加。 通过查看示例,我认为规则更容易理解: Input: 3 7 5 10 Output: 3 7 5 <- Sum is 15 10 5 <- 5 is added to make the sum 15 Input: 2 4 5 9 2 3 5 0 2 4 5 0 3 Output: 2 4 5 4 <- Sum 15. 9 …

1
“填充网格”问题
具有简单规则但非平凡算法的挑战。:-) 任务 以空格分隔的整数形式输入: N A B S 其中N是2D正方形矩阵的边长,其中A和B之间(包括两端)填充有唯一数字(整数)。对于此矩阵中的每一行和每一列,总和始终相同:S。(换句话说,矩阵是一个半魔术正方形)。 注意: 所有数字均为正。例外是A,可以为0。 例子 对于 3 1 10000 2015 一个有效的解决方案是 对于 8 1 300 500 一个有效的解决方案是 输出量 您输出的应该是ASCII表。上面第一个示例的示例: 384 159 1472 1174 499 342 457 1357 201 用空格填充的右对齐整数。每列的宽度是该列中最大整数的宽度。 计分 这是代码高尔夫球,因此以字节为单位的最短代码获胜。存在标准漏洞(尤其是有关解决此问题的内置漏洞)。您不必担心错误或其他不可能的输入(包括负数)。请为上面的第二个示例在您的答案中(强制性)提供示例输出。
36 code-golf  math  grid 

30
我反转了源代码,您否定了输入!
公然敲竹杠一个的敲竹杠。去投票那些! 您的任务(如果希望接受)是编写一个程序/函数,该程序输出/返回其整数输入/参数。棘手的部分是,如果我反转源代码,则输出必须是取反的原始整数。 例子 假设您的源代码为ABC,其输入为4。如果我CBA改为编写并运行它,则输出必须为-4。 假设您的源代码为ABC,其输入为-2。如果我CBA改为编写并运行它,则输出必须为2。 输入的0可能为0或-0,但是,如果您确实支持带符号的零,-0则应为0。

21
NxNxN Rubik多维数据集上的置换数量
介绍: 3x3x3魔方具有可能的排列,大约为43 亿个。您可能之前已经听说过这个数字,但是实际上是如何计算的呢?43 ,252 ,003 ,274 ,489 ,856 ,00043,252,003,274,489,856,00043,252,003,274,489,856,000 3x3x3魔方有六个面,每个面有九个贴纸。看(外部)件而不是贴纸,我们有六个中心件。八个角块;和十二个边缘碎片。由于中心不能移动,因此我们可以在计算中忽略它们。至于拐角和边缘: 有()排列八个角的方法。每个角都有三个可能的方向,尽管(八个中的)只有七个可以独立地定向。在给定()可能性的情况下,第八个/最后一个角的方向取决于前面的七个。8 !8!8!40 ,32040,32040,32037373^72 ,1872,1872,187 有()种方式来排列十二条边。从减半这是因为恰好在拐角处时,边缘必须始终保持均匀的排列。在给定()的可能性的情况下,第十二个/最终边缘的翻转取决于前面的十一个,因此可以独立翻转十一个边缘。12 !212!2\frac{12!}{2}239 ,500 ,800239,500,800239,500,80012 !12!12!2112,0482112112^{11}2 ,0482,0482,048 综上所述,我们有以下公式: 8 !× 37× 12 !2× 211= 43 ,252 ,003 ,274 ,489 ,856 ,0008!×37×12!2×211=43,252,003,274,489,856,0008!×3^7×\frac{12!}{2}×2^{11} = 43,252,003,274,489,856,000 资料来源:维基百科-Rubik的立方体排列 尽管这看起来可能已经很复杂了,但对于3x3x3多维数据集来说仍然相当简单。对于偶数立方体,公式略有不同。例如,这是4x4x4多维数据集的公式: 8 !× 37× 24 !2247= 7 ,401 ,196 ,841 ,564 ,901 ,869 …

2
我如何向银行的柜员要钱?
我需要去银行取一些钱。我需要提取30美元,22美元来支付我的室友的上网费以及8美元的洗衣费。由于这些都不能改变,我需要将$ 30分成两个大小的两个分区。这意味着当出纳员问我如何要我的30美元时,我将不得不提出请求。我可以告诉他们我要二十,五个和五个。但是我想使我的请求尽可能简单,以避免重复自己。为了使我的请求更简单,我可以要求我的现金包含20个现金,并且至少包含2个现金,因为总数暗示了8个现金,但更好的是,我可以简单地要求我收到的钞票中的一个是一美元的钞票(如果您不相信这一点,只需尝试赚29美元而不赚8)。 这样很好,但我每次去银行时都需要进行此计算,所以我想我会写一个程序来执行此操作(您是否已编写一个程序来为我执行此操作)。 您的程序或函数应使用代表我需要进行的所有付款的整数列表和代表银行可用的纸币面额的一组整数,并且您必须输出最小面额的列表,以使每种方式都能得出总计包括该种面额的清单可以清晰地分为付款清单。 额外规则 您可以假定面额列表将始终包含a 1,也可以将其自己添加到每个列表中。 一些输入将具有多个最小解决方案。在这些情况下,您可以输出其中之一。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 Payments, denominations -> requests {22,8} {1,2,5,10,20,50} -> {1} or {2} {2,1,2} {1,5} -> {1} {20,10} {1,2,5,10,20,50} -> {} {1,1,1,1} {1,2} -> {1,1,1} {20,6} {1,4,5} -> {1} {2,6} {1,2,7} -> {2} {22, 11} {1, 3, 30, 50} -> {1, 3} {44, …
35 code-golf  math 

15
11 =(1 + 2 + 3 + 4 + 5)-(1 + 2 + 3)+(6)-(4)
给定正整数N,您的任务是返回以下算法达到N所需的步数: 找到最小的三角形的数目Ť 我使得Ť 我 ≥Ñ。建立相应的列表L = [1,2,...,i]。 当L的项之和大于N时,从列表中删除第一个项。 如果L项的总和现在小于N,则增加i并将其附加到列表中。继续执行步骤2。 一旦达到N,我们就会停止。系统只会执行第一步。步骤#2和#3可能根本不处理。 例子 以下是N = 11的示例: 所以预期输出用于N = 11是4。 其他例子: N = 5-我们从 T 3 = 1 + 2 + 3 = 6开始,然后是 2 + 3 = 5。预期输出: 2。 N = 10-因为 10是一个三角数,所以只需要第一步: T 4 = 1 + 2 + 3 + …

30
评估三角形的长宽比
给定三角形的三个边长,请使用以下公式评估其长宽比AR: 哪里 三角形越接近等边,则1其纵横比越接近。长宽比大于或等于1有效三角形。 输入项 输入的是三个实数正数,可以将其封装在列表中,也可以根据需要封装任何类似的数字。 无论输入三个边长的顺序如何,程序都必须输出相同的值。 这三个数字将始终是一个三角形的有效sidelengths(退化三角形像一个与sidelengths 1,1并且2将不给出作为输入)。当值变得非常接近简并三角形时,您不必担心浮点数不准确(例如,您的程序会division by 0因输入错误而接受[1, 1, 1.9999999999999999])。 输入可以通过STDIN,作为函数参数或任何类似参数给出。 产出 输出是大于或等于1您的语言可接受的标准精度的实数。 输出可以打印到STDOUT,从函数返回或类似的东西。 测试用例 Inputs Output 1 1 1 1 3 4 5 1.25 42 42 3.14 ≈ 6.9476 14 6 12 1.575 6 12 14 1.575 0.5 0.6 0.7 ≈ 1.09375 计分 这是代码高尔夫球,因此最短的答案以字节为单位。

16
库存机
库存机 您可以访问数据集,tomorrowStocks其中包含您在纳斯达克上喜欢的业务的股票价格。该数据集是一个按打开后分钟数索引的容器。每个指数都包含当时的股票价格。 // Assume the stock market opens at 9:30AM EDT // tomorrowStocks[] contains the prices of your target stock. // If the stock is $22 @ 10:30AM EDT tomorrowStocks[60] == 22 输出量 你的任务是确定的最好的结果1 purchase和1 sale的1 stock从给定的数据集。 陷阱 您必须买卖1只股票。 你可以不买,并在同一时间段销售。 您必须先买才卖。 测试数据 [1,2,3,4,5] # 4 [1,99,2,105] # 104 [99,1,99,100] # …

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.