Questions tagged «math»

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

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

23
哟,男孩,总和
每一个正整数,可表示为最多三个回文正整数中的任何基础的总和b ≥5。 Cilleruelo等,2017 如果正整数在给定的基数中为回文,则该正整数在该基数中的表示(不带前导零)将向后读取相同的值。在下面,仅基b = 10将被考虑。 作为回文数之和的分解不是唯一的。例如,5可以直接表示为5或2, 3。类似地,132可以分解为44, 44, 44或121, 11。 挑战 给定一个正整数,将其和分解为三个或三个以下以正整数为基础的正整数。 附加规则 所使用的算法应适用于任意大的输入。但是,如果程序受内存,时间或数据类型的限制,则可以接受。 输入和输出可以通过任何合理的方式进行。输入和输出格式像往常一样灵活。 您可以选择为每个输入生成一个或多个有效分解,只要输出格式是明确的即可。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 例子 由于输入可以具有许多分解,因此这些只是示例而不是测试用例。每种分解显示在不同的行上。 Input -> Output 5 -> 5 2, 3 15 -> 1, 3, 11 9, 6 21 -> 11, 9, 1 7, 7, 7 42 -> 22, 11, 9 2, …

30
输出标志
给定数字N,输出N的符号: 如果N为正,则输出1 如果N为负,则输出-1 如果N为0,则输出0 N将是您选择的语言在可表示的整数范围内的整数。

30
柯拉兹猜想(OEIS A006577)
这是Collat​​z猜想(OEIS A006577): 以整数n > 1 开头。 重复以下步骤: 如果n为偶数,则将其除以2。 如果n为奇数,则将其乘以3并加1。 事实证明,对于所有最多5 * 2 60或大约5764000000000000000的正整数,n最终将变为1。 您的任务是找出达到1所需的迭代次数(减半或三倍加一)。 相关的xkcd :) 规则: 最短的代码胜出。 如果输入的数字<2,或者非整数或非数字,则输出无关紧要。 测试用例 2 -> 1 16 -> 4 5 -> 5 7 -> 16
66 code-golf  math 

15
9孔挑战赛[关闭]
9洞挑战赛 不同难度的9项代码挑战。 多次使用同一语言的处罚。 该问题将通过标准杆,洞冠军和奖杯得主进行更新。 这是我与一些朋友进行的比赛,不是通常的比赛形式,但是我希望你们中的一些人会喜欢它的不同之处。以下是挑战,规则和奖杯。 孔洞 格林威(24) f(c:string, n:integer) 打印包含的n实例的行c。 崎不平的地方(73) f(t:string, s:string, n:integer) -> iin中实例i的索引 在哪里?nthst 晚餐咖喱(6235) f(x:function, y: function) -> g 哪里g是将调用一个函数y,n时间; n的返回值在哪里x 喷(92) f(p:string) 写入文件,p并将其填充为随机大小的随机大小矩形(ascii)。 寻宝(75) f(p:string, c:char) -> (x, y) 读取p包含符号网格的文件,并假设该符号存在,则返回该符号在网格中的第一个实例的x和y坐标。 桂河大桥(179) f(l:list[int]) 打印的差异桥图l。例如[1,7,3,17,1] /+6\ /-4\ /+14\ /-16\ 1 7 3 17 1 确保根据上面数字的大小创建空格。对于3位长的数字,您将在下面一行的数字之间需要4个空格。 捕获:在某个地方,您的代码必须拼写裤子(必须至少具有1个非字母数字分隔符。例如 tr(ou,se)(rs) …

13
计算最多n的素数
π(n)是小于或等于n的素数。 输入:自然数n。 输出: π(n)。 评分:这是最快的代码挑战。得分将是得分案例的时间总和。我将为计算机上的每个条目计时。 规则与细则 你的代码应工作的ň高达2十亿(20亿)。 不允许使用琐碎的内置函数。这包括内置的π函数或π(n)的值列表。 不允许测试素数或生成素数的内置函数。这包括素数的列表,除了下一个要点之外,可能无法从外部查找或在本地进行硬编码。 您可以硬编码最多为19的素数,且不能更高。 您对π的实现应是确定性的。这意味着给定特定的n,您的代码应在(大约)相同的时间内运行。 使用的语言必须在Linux(Centos 7)上免费可用。应包括有关如何运行代码的说明。如有必要,包括编译器/解释器的详细信息。 官方时间将通过我的计算机发送。 发布时,请在一些/所有测试/分数案例中包括一个自我评估的时间,以让我估算您的代码运行的速度。 提交的内容必须适合该问题的答案。 我正在运行64位centos7。我只有8GB的RAM和1GB的交换空间。CPU型号为:AMD FX(tm)-6300六核处理器。 测试用例(来源): Input Output 90 24 3000 430 9000 1117 4000000 283146 <--- input = 4*10^6 800000000 41146179 <--- input = 9*10^8 1100000000 55662470 <--- input = 1.1*10^9 得分案例(相同来源) 与往常一样,这些情况可能会发生变化。不允许针对得分情况进行优化。为了平衡合理的运行时间和准确的结果,我可能还会更改案例数。 Input Output 1907000000 …

30
从1到n的所有整数的和
实在令我感到惊讶的是,这还没有完成。如果可以找到现有线程,请务必将其标记为重复或让我知道。 输入项 您的输入采用任何大于或等于1的正整数的形式。 输出量 您必须输出介于1和输入数字之间的所有整数的和。 例 In: 5 1+2+3+4+5 = 15 Out: 15 OEIS A000217 —三角数:a(n)=二项式(n + 1,2)= n(n + 1)/ 2 = 0 +1 + 2 + ... + n。 排行榜 运行下面的代码片段以查看此问题答案的页首横幅。(感谢programmer5000和steenbergh提出的建议,以及Martin Ender提出的建议。) 显示代码段 var QUESTION_ID=133109,OVERRIDE_USER=69148;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var …
63 code-golf  math  number 

9
这山有多亮?🔥
甲山被定义为一组线段,其第一点的坐标为(0,a)其中a > 0其最后一点具有坐标,并且(b,0),在那里b > 0。所有中间点的y坐标(纵坐标)均严格大于0。为您提供了山峰上的点,它们按x坐标(横坐标)的升序排序。请注意,两个点可以具有相同的x坐标,从而产生山的垂直部分。如果为您提供了两个具有相同x坐标的点,则应按照给定的顺序连接它们。此外,山上可能有水平段,无论什么水平,这些水平段都不会点亮。所有坐标均为非负整数。 问题是:假设太阳是位于山的右侧的无限垂直的光平面,那么将被照亮的山的总长度是多少?该数字不需要四舍五入,但是如果四舍五入,请至少包含四个小数位。我包括了一张图片: 在这里,加粗的线表示被点亮的线段。请注意,在输入中,P出现在Q之前(PQ是垂直线段),因此前一个点连接到P而不是Q。 您可以采用任何合理格式的输入,例如列表列表,单个列表,字符串等。 测试用例: (0,3000) (500, 3500) (2500, 1000) (5000,5000) (9000,2000) (9000,3500) (10200,0) Output: 6200.0000 如下图所示,这里有两个照亮的部分: 第一个长度为5000/2 = 2500,第二个长度为3700。 这是代码高尔夫球,因此最短的答案以字节为单位。
62 code-golf  math 

30
找到最平滑的数字
您的挑战是找到给定范围内最平滑的数字。换句话说,找到最大素因数最小的数。 一个光滑的数字是其最大素因子小。这种类型的数字对于快速傅立叶变换算法,密码分析和其他应用程序很有用。 例如,在该范围内5, 6, 7, 8, 9, 10,8是最平滑的数字,因为8的最大质数为2,而所有其他数字的质数为3或更大。 输入:输入将是两个正整数,它们定义一个范围。该范围的最小整数是2。您可以选择范围是包含范围,排除范围,半排除范围等,只要可以在您的语言范围内指定任意范围即可。您可以通过函数输入,stdin,命令行参数或任何等效的语言方法获取数字。输入中没有编码额外的信息。 输出:在输入范围内返回,打印或等效的一个或多个最大平滑(最小最大因数)的整数。返回多个结果是可选的,但是如果选择这样做,则必须明确分隔结果。本地输出格式适合多种结果。 请在您的答案中说明您如何接受输入并给出输出。 得分:打高尔夫球。如果使用ASCII写入,则按字符计数;如果不使用ASCII,则按8 * bytes / 7计算。 测试用例: 注意:这些是Python样式的范围,包括低端但不包括高端。根据您的程序进行更改。仅需要一个结果。 smooth_range(5,11) 8 smooth_range(9,16) 9, 12 smooth_range(9,17) 16 smooth_range(157, 249) 162, 192, 216, 243 smooth_range(2001, 2014) 2002

10
小钱德勒很伤心。画他的云,使他振作起来
小钱德勒很伤心。画他的云使他振作起来。 注意:画云实际上不会使他振作起来。 圆可以定义为三元组(x,y,r),其中x是圆在笛卡尔平面上的x位置,是圆在笛卡尔平面y上的y位置以及圆r的半径。x并y可能是负面的。r永远是积极的。输入是以空格分隔的三元组形式的圆的列表。例如: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 的3,1,1意思是“在与中心点的圆3,1与1个半径。3,2,1.5是指”在与中心点的圆3,2用1.5半径。 如果我们在图形上绘制输入的所有这些圆,则看起来像这样(我仅出于清晰起见添加了网格线和标签;它们不是必需的): 注意所有的圆是如何凝聚的。也就是说,它们全部重叠在一起,从而形成一个大的组,而没有其他的小圈子。输入保证是内聚的。 假设现在绘制一条绕这些圆形成的“边界”行进的线,而没有其他任何线。就像绘制所有圆组成的轮廓的边界一样。生成的云看起来像这样: 因此,仅通过在输入中绘制形成边界的圆弧来形成单一形状即可形成此云。换句话说,仅通过绘制不在另一个圆内的圆弧来形成云。您的程序将以上述形式接受输入,并输出显示结果云的图像。云的整体形状必须正确,但是比例,颜色,线条粗细以及在顶点处的外观取决于您。请注意,云必须是可见的,因此您不能拉出类似“此程序在白色背景上绘制白色云”,“此程序以无限小的比例绘制云”,“此程序以0绘制云”之类的内容。线宽”等。还请注意,边框的颜色必须与填充或背景的颜色不同。 另一个例子。输入: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 输出: 如果云中存在“洞”,则也应绘制该洞。输入: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

22
丹尼斯数字2.0
PPCG用户和当选mod,@ Dennis成为有史以来第二个收入超过10万的用户! 这是一个完全原始的想法,我没有从其他任何人那里得到,但是让我们根据他的用户ID进行挑战,12012以示敬意! 查看它,您会注意到他的ID有两个不同的“部分”。 12 和 012 这两个部分的总和为3。这是一个非常有趣的属性。 让我们将“ Dennis 2.0数字”定义为任何正整数,其中严格增加的数字的每个最大子序列加总为相同的数字。例如, 123 是Dennis 2.0的数字,因为只有一个严格增加数字的最大子列表,它的总和为6。另外,2,846,145也是Dennis 2.0的数字,因为三个增加的数字最大子列表,即 28 46 145 总计为10。此外,仅重复相同数字的数字必须是Dennis 2.0数字,因为例如777可以细分为 7 7 7 其中明确所有总和为7。 一些诸如42是不一个丹尼斯2.0数量,因为它被分解成 4 2 显然,它们的总和并不相同。 挑战 您必须编写程序或函数来确定给定数字是否为Dennis 2.0数字。您可以采用任何合理的输入格式进行输入和输出,例如从文件,函数参数/返回,STDIN / STDOUT等中以字符串,数字形式输入,然后如果该数字是Dennis 2.0 ,则返回真实值。数字,如果不是,则为假值。作为参考,以下是每个Dennis 2.0编号(最多1,000个): 1 2 3 4 5 6 7 8 9 11 12 13 14 15 …

30
打印N-bonacci序列
这不是很广为人知,但是我们称之为斐波那契数列 1, 1, 2, 3, 5, 8, 13, 21, 34... 实际上称为Duonacci序列。这是因为要获得下一个数字,您需要将前两个数字相加。还有Tribonacci序列, 1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201... 因为下一个数字是前三个数字的总和。和Quadronacci序列 1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673... 和每个人都喜欢的Pentanacci序列: 1, 1, 1, 1, 1, 5, 9, 17, 33, 65, …

30
迷信酒店电梯
描述 这是上海一个非常迷信的酒店电梯: 它避免使用数字13,因为在西方世界中有13位不幸,而避免使用数字4,因为在亚洲部分地区,有4位不幸。如果这家酒店更高,该怎么办? n从STDIN 读取一个代表楼层数的正整数,并打印按钮布局到STDOUT:的样子-1,然后是下一个n-1不等于13并且不包含数字4的正整数。两列中的数字,如上图所示:每行打印两个楼层号,并由水平制表符分隔,以便从左到右以相反的顺序读取行会产生升序的序列。(您也可以选择打印尾随换行符。) 测试用例 对于input 14,输出应如上图所示: 15 16 11 12 9 10 7 8 5 6 2 3 -1 1 其中每行的空白是单个水平制表符。 对于输入2,您应该打印-1 1。 对于输入100,您应该打印: 120 121 118 119 116 117 113 115 111 112 109 110 107 108 105 106 102 103 100 101 98 99 96 97 …

18
该程序将所有自然数相加并产生-1/12的结果[关闭]
如您所知,有一个数学上的事实,即如果将所有自然数相加,最终将得到... -1/12 (请参阅Wikipedia此处)。 当然,这是一个非常奇怪的结果,不能仅通过在一个数字后面加上另一个数字而获得,而是一些特殊的数学技巧。 但是,您的任务是编写一个程序,该程序看起来像尝试将所有自然数相加,但是在您运行该程序时-它返回-1/12。 在伪代码中,它可能看起来像这样: result = 0; counter = 1; while(true) { result += counter; counter ++; } println(result); 您可以按照自己喜欢的任何方式执行此操作-您可以利用缓冲区溢出,在某些变量变得太大时处理抛出的错误,或者以某种巧妙的方式隐藏代码中的关键内容。唯一的条件是,代码在开始时看起来应该像试图加所有自然数一样,并且在运行时返回-1/12(以任何格式,可能是十进制,二进制,文本,ascii art等)。 该代码当然可以包含比上面显示的更多的内容,但是应该足够清楚,以愚弄读者。 这是人气竞赛-投票选出最聪明的主意!

30
测试一些自恋的人
一个水仙花数是一个数字这是它自己的数字的总和,每个调至位数的力量。 例如,取153(3位数字): 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634年: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 挑战: 您的代码必须接受用户的输入,并根据给定的数字是否为自恋数字输出True或False。 不需要对文本字符串或其他无效输入进行错误检查。输出为1或0是可接受的。仅生成自恋数字列表或对照列表检查用户输入的代码不符合要求。 OEIS A005188

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.