Questions tagged «math»

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

10
四元数相乘
编写一个计算两个四元数的四元数乘积的命名函数或程序。使用尽可能少的字节。 四元数 四元数是实数的扩展,进一步扩展了复数。i四元数使用三个i,j,k满足关系的虚构单元,而不是单个虚构单元。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (在Wikipedia页面上也有这些表格。) 换句话说,每个假想单位与平方-1,两个不同的假想单位的乘积是剩余的第三个,+/-取决于是否(i,j,k)遵守循环顺序(即右手定则)。因此,乘法的顺序很重要。 一般的四元数是实部和三个虚部的线性组合。因此,用四个实数描述(a,b,c,d)。 x = a + b*i + c*j + d*k 因此,我们可以使用分布属性将两个四元数相乘,注意按正确的顺序将单位相乘,并在结果中分组类似的项。 (a + b*i + c*j + d*k) * (e …

28
输出整数的第n个数字
如果不使用字符串(除了在必要时,如与输入或输出)计算第n个位,从左侧,一个的整数(在基体10)。 输入将以以下格式给出: 726433 5 输出应为: 3 因为那是“ 726433”的第五位数字。 输入将不包含前导零,例如“ 00223”。 测试案例/更多示例: 9 1 -> 9 0 1 -> 0 444494 5 -> 9 800 2 -> 0 这是代码高尔夫;最少的字符获胜,但是任何内置函数(例如“ nthDigit(x,n)”)都不可接受。 以下是一些伪代码,可以帮助您入门: x = number n = index of the digit digits = floor[log10[x]] + 1 dropRight = floor[x / 10^(digits - …
13 code-golf  math 

6
我的机器人逃脱了实验室!
我的机器人由于某种原因短路,并从实验室随机逃逸! 幸运的是,每当他这样做时,他的关闭顺序都会启动,这给了他足够的时间在关闭前随机旋转并朝着其朝向运行五轮。他的陀螺仪和加速度计功能仍在将数据传回实验室的过程中。 例如,数据将始终以五组两个数字的形式出现。 12:234,-135:47,-68:230,140:324,127,87 高尔夫球手的任务是:a)通过显示五组数字来模拟机器人的疯狂奔跑和转弯顺序,a1:d1,a2:d2,a3:d3,a4:d4,a5:d5其中a(n)是顺时针角度(以度为单位),-179<=a<=+180以便机器人从当前航向转弯(最初,它处于零方位,然后才开始惯性旋转并第一次转弯。)d(n)是在下一个航向变化之前它已经经过的距离(以英尺为单位)0<=d<=500;b)实验室计算出的航向(航向也为零),以英尺为单位的距离(强烈建议精确到小数点后3位,如果是,则为-5字节),以及方向航向(以度为单位)关闭机器人时面对的位置。 简单的例子: Data: 0:1,45:1,90:1,90:1,90:1 Heading: 0 Distance: 1 Orientation: -45 随机的转弯和距离就是随机的。没有设置值要进行硬编码,我们必须在代码中看到随机的行为。 对随机性的限制:没有基于时钟或日期的引用,我们需要random在代码中查看本机引用。每当您运行此代码时,随机性都必须能够在每次转弯回合中显示360个可能的转角之一。因此,机器人可能会转一圈-36度,下一圈可能转+157度,然后再转+2度再转-116度再转一圈,最后转一圈再转+42度。每个随机角度生成必须至少有360个不同的值(在-179至+180度之间)。 距离行驶的限制:同样设置,机器人可以行驶501种可能的距离(包括0到500英尺),因此我希望在确定机器人的行驶距离时也可以使用随机性。从理论上讲,该机器人可以在各自的回合中运行45英尺,117英尺,364英尺,27英尺和6英尺... 馈给您的数据将始终为整数值……机器人将以度数的整数范围旋转,并将以距离的整数范围运行。但是输出值将是浮点数... 这是代码高尔夫球。最短的代码胜出...现在去寻找我的机器人! PS:关于我的“精度最多3个小数位”,如果您可以提供航向(以度为单位,最小为3个小数位)和以英尺为单位的距离(也可以精确到最小3个小数位),将获得-5字节的奖励)。
13 code-golf  math 

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
给定一个公平的硬币作为输入,产生任何特定的不公平结果
使用不公平的硬币很容易生成一个公平的硬币,但是反之则很难完成。 您的程序将收到一个数字X(介于0和1之间,包括0和1),作为输入。输入不能简单地硬编码为源代码中间的数字。然后,它必须返回一个数字:a 1的概率为X,0否则为X。 您的程序仅允许在源代码中使用一种形式的随机数生成器:(int(rand(2))或等效形式),它以相等的概率返回零或一。您可以在代码中随意包含或访问此函数多次。您还必须自己提供功能作为代码的一部分。 您的程序不允许使用任何其他可以用作随机数生成功能的随机数生成功能或外部源(例如时间和日期功能)。它还无法访问任何外部文件或将作业传递给外部程序。 这是代码高尔夫,最短的答案胜出。
13 code-golf  math 

8
确定平方根的连续分数
整数的连续分数n是以下形式的分数: 收敛于n。 a连续分数中的序列通常写为:[a 0 ; a 1,a 2,a 3,... a n ]。 我们将以相同的方式来编写我们的文章,但是在分号之间重复。 您的目标是返回的平方根的连续分数n。 输入:整数n。n永远不会是一个完美的广场。 输出:的连续分数sqrt(n)。 测试用例: 2 -> [1; 2;] 3 -> [1; 1, 2;] 19 -> [4; 2, 1, 3, 1, 2, 8;] 最短的代码获胜。祝好运!
13 code-golf  math  number 

6
输出所有有理数的列表
在所有数学中,总会有一些定理超越所有常识。其中之一是无穷大大小不同的事实。另一个有趣的事实是这样的想法,即许多看起来大小不同的无穷大实际上是相同大小的。偶数和整数一样多,有理数也一样。 这个问题的一般概念是面对无穷无尽的现实。在这个挑战中,您的程序将输出一个列表,该列表将: 在任何特定时间,总有大量条目 最终在整个列表中恰好包含一次(如果可以运行足够长的时间)任何特定的(非零)有理数 包含无数个空插槽(列表中的条目不必要地设置为0) 空插槽比例接近100%的限制 对于每个正整数N,具有无限数量的位置,具有N个连续的空槽 挑战 您面临的挑战是编写尽可能短的程序,该程序将输出具有以下规则的特殊列表: 索引不是平方数的所有条目都应设置为零。因此,第一个条目将为非零,第二个和第三个条目将为零,第四个条目将为非零,依此类推。 所有有理数将采用不正确分数(例如4/5或144/13)的形式进行简化。唯一的例外是零0。 如果您的程序运行足够长时间且具有足够的内存,则所有(正负)有理数最终应出现在列表中。对于任何特定的有理数,所需时间可能是任意大,但始终是有限的时间。 如果运行无限长的时间,则任何非零有理数都不会出现两次。 规则3确实允许某些变化,因为存在无限数量的不同可能的合法输出。 输出将是一行流。每行将具有以下一般形式:5: 2/3第一个数字是条目号,然后是有理数。请注意,1: 0它将始终是输出的第一行。 输出示例片段: 1: 1/1 2: 0 3: 0 4: 2/1 5: 0 6: 0 7: 0 8: 0 9: -2/1 10: 0 etc... 规则,规定和注释 这是代码高尔夫。适用标准代码高尔夫规则。同样,由于输出中允许的变化,您至少需要说明为什么您相信列表将一次包含所有可能的有理数,并且您的解决方案是正确的。 编辑:由于质数确实分散了挑战,因此我将其更改为平方数。这实现了相同的目的,并且缩短了解决方案。

3
用三角求解三角形
是时候从高中挖掘旧的三角学笔记了!挑战在于解决不同三角形的未知边和角度。按照编码高尔夫的惯例,最小的有效编码将获胜。 这不是一个小问题。我在python中的参考实现目前只有838 837个字符,但是我敢肯定,您将可以使用更小的解决方案。 此外,如果您受困,那么Wikipedia上的这一部分将使您着手进行:Triangle:计算边和角。 输入值 下面的三角形显示了此挑战中使用的边和角度的名称。请注意,侧面是小写字母,而角度是大写字母。 输入以六个空格分隔的值形式给出,可以是在stdin命令行参数上,也可以是命令行参数(您的选择)。这六个值分别对应于侧面a, b, c和角度A, B, C。未知的一面以问号(?)给出。输入和输出角度都必须以弧度为单位。您可以假设输入值正确(您无需验证任何内容)。您还可以假设输入三角形不退化,并且所有边和角度都不为零。 以下示例输入告诉您side a为8,side b为,12而angle A为0.5弧度: 8 12 ? 0.5 ? ? 输出量 输出以与输入相同的格式给出-上用六个空格分隔的数字stdout。唯一的例外是,当无法求解输入三角形时,"No solution"必须将字符串写入stdout。如果可能有两种解决方案,则它们都将以换行符的形式输出。 以下是上述输入的输出: 8.0 12.0 16.0899264342 0.5 0.802561439714 1.83903121388 8.0 12.0 4.97205505116 0.5 2.33903121388 0.302561439714 输出不需要具有很高的精度,但是至少需要几个小数。 规则 输入是stdin从命令行参数中读取的 输出写入 stdout 如果给定输入有两种解决方案,则输出两者 如果信息太少而无法获得一两个清晰的解决方案,请考虑使用这种"No solution"情况 不能使用内置或预先存在的代码(当然,您可以使用触发函数,但不能使用“ solveTriangle”等) 最短代码胜出 测试用例 在 …

5
通过三点圈
给定平面上三个点的笛卡尔坐标,通过它们全部找到圆的方程。这三个点将不在一条直线上。 程序输入的每一行将按顺序包含3个点的x和y坐标A(x),A(y),B(x),B(y),C(x),C(y)。这些坐标是小于1,000,000的实数,彼此之间用空格隔开。 解决方案将作为形式的等式打印(x-h)^2 + (y-k)^2 = r^2。对值h,k,r将被印刷有小数点后三位数字。应根据需要更改方程式中的正号和负号,以避免在数字前出现多个正号。 Sample Inputs 7.0 -5.0 -1.0 1.0 0.0 -6.0 1.0 7.0 8.0 6.0 7.0 -2.0 Sample Outputs (x - 3.000)^2 + (y + 2.000)^2 = 5.000^2 (x - 3.921)^2 + (y - 2.447)^2 = 5.409^2
13 code-golf  math 

5
1P5:地震!
USGS的地震仪刚刚发现了大地震!紧急响应小组需要快速估算受影响的人数。编写一个程序来计算这个估计。 您的程序收到2个输入。首先是地震本身的细节。地震模拟为一条线段,地球沿着该线段破裂,以及距断层的临界距离,在该距离内可能会造成破坏。第二个输入是该地区城市的位置和人口清单。您的程序应计算出受影响区域中的人口数量,即故障段关键距离内所有城市的人口总数。 输入值 首先是描述地震的线,其中包含断层起点和终点的x,y坐标以及临界距离。格式为A_x A_y B_x B_y D。例如: 3.0 3.0 7.0 4.0 2.5 编码从(3.0,3.0)扩展到(7.0,4.0)且临界距离为2.5的故障。 其次,该区域中每个城市的一行,包含城市及其人口的x,y坐标。例如: 1.0 1.0 2500 5.0 7.0 8000 3.0 4.0 7500 9.0 6.0 3000 4.0 2.0 1000 输出量 居住在受影响地区的人数。对于上面的示例,只有第三和第五座城市处于危险区域,因此输出为 8500 最短的代码获胜。 例子2 0.0 0.0 10.0 0.0 5.0 5.0 4.0 10000 5.0 -4.0 1000 5.0 6.0 100 11.0 …
13 code-golf  math  1p5 

7
n,最接近n的素数,n的平方和最接近n的斐波那契数的平均值是多少?
这是一个数学问题,涉及很多问题,使其颇具挑战性,并且您可能已经猜到,这是代码高尔夫球,因此它也应尽可能短。 的输入,n是任何整数数量(至少应该支持整数,但不必限于)。该输出是平均的: n 的平方 n 最接近质数 n n斐波那契数列中最接近的数字 不久,程序应该打印到标准输出通道的结果的(n+(n*n)+closestPrime(n)+closestFib(n))/4。 您不必担心可能的溢出等。正常的浮点精度也可以。 输入的方式完全取决于您。最短的程序(以字符为单位)获胜,就像打高尔夫球一样。 如果在寻找最接近的位置时出现平局,请选择以下选项之一: 上 下去 随机选择一个

4
长乘法,一次8位
您将得到一台16位计算机,并被告知实现任意大小的整数的乘法。您的寄存器只能容纳16位数字,最大的乘法指令需要两个8位输入并生成16位结果。 您的程序必须将两个任意大小的正数作为输入并输出其乘积。每个输入数字在其自己的行上编码为小尾数字节数组,其中每个字节为两位数的十六进制数字。输出必须采用类似的格式。也许最好用一个例子来解释: 输入 1f 4a 07 63 a3 输出 fd 66 03 a7 04 编码乘法477727 * 41827 = 19981887229。 您可以假定每个输入数字的最后一个(最高有效)字节为非零,并且您输出的数字的最后一块必须为非零。两个输入数字的最大长度为100个字节。 最小的代码获胜。 请记住,允许使用的最大乘法是1字节* 1字节,并且没有大于2字节的整数类型!
13 code-golf  math 

13
计算e的前N个数字
挑战 编写一个程序来计算e的前N(<= 10 ^ 3)个数字。 您的程序应采用整数N作为输入。 输入: 100 输出: 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427 输入: 7 输出: 2.718282 输入: 1000 输出: 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035 最短的解决方案获胜!
13 code-golf  math 

5
以多种方式完善权力?
挑战 您的任务是编写一个给定正整数N的程序或函数,该程序或函数查找所有小于或等于N的正整数,这些正整数可以以多种方式表示为完美幂。 定义 完美的功率被定义为一个数我发现立方公尺ķ,其中: m和i是正整数 m!= k 测试用例 输入->输出 1000-> 16,64,81,256,512,625,729 56-> 16 999-> 16,64,81,256,512,625,729 81-> 16,64,81 1500-> 16,64,81,256,512,625,729,1024,1296 请提供一个可读的,注释的版本。

4
计算三角形的费马点
这有点类似于三角形的中心,但是具有不同的点。在费马点是在三角形ABC中的点P,使得AP + BP + CP的值被最小化。有两种情况: 如果角度大于120度,则该顶点为费马点。否则,在ABC的每一侧上绘制等边三角形。将每个等边三角形的远顶点连接到三角形ABC的相反顶点。对三个等边三角形中的每一个进行此操作会导致所有三条线的单个公共交点,即费马点。 它应在合理的计算机上运行5秒钟。 输入:一组3点,不一定是整数。可以将其视为嵌套数组,字符串,元组列表等(无论哪种语言)。 输出:同样,费马点的坐标,但是您的语言最能处理点。浮点数错误将不算在您身上。 测试用例: [[1, 1], [2, 2], [1, 2]] --> [1.2113248654051871, 1.788675134594813] [[-1, -1], [-2, -1], [0, 0]] --> [-1, -1] [[-1, -1], [1, -1], [0, 1]] --> [0, -0.42264973081037427] [[0, 0], [0.5, 0.8660254037844386], [-5, 0]] --> [0, 0] [[0, 0], [0, -5], …

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.