Questions tagged «math»

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

30
交替符号序列
介绍 对于每个非零整数,数字的符号可以是+或-。零本身是无符号的(+0与相同-0)。在下面的序列中,我们将在正号,零和负号之间交替。该序列以开头1,因此我们1用一个正号,零(这个数字很奇怪,但是我们将数字乘以0)和一个负号来写: 1, 0, -1 下一个数字是2,我们再次执行相同的操作: 2, 0, -2 最终的顺序是: 1, 0, -1, 2, 0, -2, 3, 0, -3, 4, 0, -4, 5, 0, -5, 6, 0, -6, 7, 0, -7, ... 或者更具可读性的形式: a(0) = 1 a(1) = 0 a(2) = -1 a(3) = 2 a(4) = 0 a(5) = …

15
最小标量积
最小标量积 此代码高尔夫球问题的灵感来自Google的代码堵塞竞赛。问题的前提是,在输入两个长度不同的向量的情况下,找到最小可能的标量。可以使用以下公式找到标量: x1 * y1 + x2 * y2 + ... + xn * yn 然而,问题在于,取决于输入情况下数字的顺序(如下所示),可以找到标量的多个值。您的目标是通过将输入用例编号插入方程式并求解来确定最小可能的标量整数解。您只能在输入中使用每个数字一次,并且必须使用所有数字。 请允许我提供一个带有以下向量的示例。 输入值 3 1 3 -5 -2 4 1 输出量 -25 该行上的第一个整数表示每个向量中的数字n。在这种情况下,每个向量有三个数字。 数字n可能会随每个测试用例而变化,但是总会有两个向量。 在示例输入中,最小标量积为-25。 (-5 * 4) + (1 * 1) + (3 * -2) = 25 规则 您只能在两个向量中使用每个整数一次。 您必须在向量中使用所有整数。 您的输出必须仅包含最终产品 我将以最少的语言选择使用最少语言的解决方案,该解决方案应使用任何语言,都遵循上面列出的所有规范! 提示:您无需强求这个问题,除非它会使您的代码更短。找到最小跨度标量有一种特定的方法:)。

13
获取最接近数字的值
在此代码中,您需要从列表中的另一个号码获得最接近的号码。 输出可能是最接近输入的数字。 例: value: (Input) 5 --- [1,2,3] --- 3 并且,该程序可能会使用负数。 例: value: (Input) 0 --- [-1,3,5] --- -1 value: (Input) 2 --- [1, 5, 3] --- 1 (Because it gives priority to lower numbers) 规则: 如前所述,它必须使用负数。 如果有两个答案(例如:0-[5,-5]),则程序将优先考虑最低的数字。(-5) 这是代码高尔夫球,所以最短的代码获胜!

6
在除数关系中找到最大匹配
您会得到一组正整数。您必须将它们成对布置,以便: 每对包含2个数字,其中一个是另一个的倍数。例如,8是4的倍数,而9是9的倍数。 如果在初始集中多次出现相同的数字,则可以成对使用多次。一个数字甚至可以与另一个相同数字出现 获得最大可能的对数。 输出必须是对数。最短的代码获胜。 样本数据 2,3,4,8,9,18 -> 3 7,14,28,42,56 -> 2 7,1,9,9,4,9,9,1,3,9,8,5 -> 6 8,88,888,8888,88888,888888 -> 3 2,6,7,17,16,35,15,9,83,7 -> 2

4
钟针Syzygy
(非常感谢El'endia Starman和Sp3000帮助我为此设计了测试用例!) 给定一个正整数n和一个多个时钟指针(以秒为单位)的正整数旋转周期的列表,输出最小的正整数x,其中x在启动时钟后的秒数中,所有n指针都对齐,并且指针的确切位置对齐。它们不必在起始位置对齐-任何位置都可以,只要x是整数且最小即可。此外,并非所有的手都必须在同一位置对齐-对于n=4,将2组2只手对齐的解决方案是有效的。组的大小必须为2或更大-两个不对齐的手不会构成2个1对齐的手的组,因此不是有效的解决方案。 您可能会假设仅n给出在整数秒后可能会完全对齐的2, [3,3,3]输入- 不是有效的输入,因为在任何秒数后,所有三只手都将对齐,因此这是不可能的精确地对齐2。 例子: 2, [3,4] -> 12 (the only option is a multiple of 12, so we pick 12 - 4 and 3 full rotations, respectively) 3, [3,5,6,9,29] -> 18 (picking 3, 6, and 9, the hands would align after 6, 3, and 2 rotations, respectively) …
16 code-golf  math 

3
用正整数解决小于不等式
编写一个程序或函数,该程序或函数包含使用小于运算符()的非空数学不等式列表<。列表中的每一行都具有以下形式: [variable] < [variable] 其中a [variable]可以是任何小写az字符的非空字符串。与普通数学和编程一样,具有相同名称的变量是相同的。 如果可以为每个变量分配一个正整数,以便满足所有不等式,则可以打印或返回带有此类分配的变量列表。此列表中的每一行都应具有以下形式: [variable] = [positive integer] 并且所有变量必须以任何顺序恰好出现一次。 请注意,对于不等式集合可能有许多可能的正整数解。其中任何一个都是有效输出。 如果不解决不平等问题,则不输出任何内容或输出虚假值(由您决定)。 以字节为单位的最短代码获胜。 例子 如果输入是 mouse < cat mouse < dog 那么所有这些都是有效的输出: mouse = 1 cat = 2 dog = 2 mouse = 37 cat = 194 dog = 204 mouse = 2 cat = 2000000004 dog = …
16 code-golf  math 

4
理想问题
是什么导致理想的问题?也许这仅仅是对深刻思想的抽象和对梦想,希望,思想的初始化(…… 省略了5,024.2个字符)。因此,我建议我们找到一个量化问题的因素。我还建议将该因子称为Q F或Q因子。我这样确定问题的Q因子: (回想一下。) 目的给定一个数字作为输入,在PPCG.SE上确定相应问题的Q因子。如果问题不存在,只需输出;-;(哭泣的表情)。 例如,。(此问题): 在这种情况下,净投票数为。 views = 23435 net votes = 33 edits = 6 answers = 30, answers^2 = 900 comments = 19 charsIOPN = "Joe Z.".length = 6 所以: r_F = 6 / 6 = 1 Q_F = r_F * (23435 * 33 + 6) / …
16 code-golf  math  number 

4
在高维格子状图中找到最大的独立集合
对于给定的正整数n,请考虑所有长度为二进制的字符串2n-1。对于给定的字符串S,令其L为一个长度数组,n其中包含1每个长度n为的子字符串中s 的数量S。例如,如果n=3和S = 01010再L=[1,2,1]。我们称L的计数数组S。 我们说两个字符串S1和S2相同长度的比赛,如果他们各自的计数阵列L1和L2具有这样的性质L1[i] <= 2*L2[i],并L2[i] <= 2*L1[i]为所有i。 任务 为了n从开始增加n=1,任务是找到最大的字符串集的大小,每个字符串的长度,2n-1以便没有两个字符串匹配。 您的代码应为的每个值输出一个数字n。 得分了 您的分数是最高n的,没有人为您的任何答案发布更高的正确答案。显然,如果您拥有所有最佳答案,那么您将获得n您发布的最高分数。但是,即使您的答案不是最佳选择,如果没有其他人能打败它,您仍然可以获得分数。 示例答案 因为n=1,2,3,4我得到2,4,10,16。 语言和图书馆 您可以使用任何喜欢的语言和库。在可行的情况下,能够运行您的代码将是一件好事,因此,请尽可能提供有关如何在Linux中运行/编译代码的完整说明。 领先的作品 5由MartinBüttner在Mathematica中撰写 6由Reto Koradi用C ++编写。值是2, 4, 10, 16, 31, 47, 75, 111, 164, 232, 328, 445, 606, 814, 1086。已知前5个是最佳的。 7由Peter Taylor在Java中撰写。值是 2, 4, 10, 16, 31, 47, 76, 111, 166, 235。 9由joriki用Java编写。值是2, …

8
四面体表面积
挑战 这个挑战非常简单。给定四个3维点,计算它们形成的四面体的表面积。这是代码高尔夫球,因此最短的代码获胜。存在标准漏洞,并增加了规定,在给出四点的情况下,禁止执行此任务的任何内置功能。 您可以假设所有四个点都是不同的,并且将通过STDIN给出,每行1个点。每个点将由三个16位无符号整数组成。如果使每个点更简单,则可以修改每个点的确切格式,例如三个空格分隔的整数。但是,必须将每个点放在单独的线上。输出应通过STDOUT进行,至少要保留两位小数。 对于不知道的人,四面体是一个3维立体,由4个三角形的面组成。 例 # input (format is up to you, see clarification above) [23822, 47484, 57901] [3305, 23847, 42159] [19804, 11366, 14013] [52278, 28626, 52757] # output 2932496435.95 如果您发现我的数学错误,请留下笔记。
16 code-golf  math  3d 

13
显示一个提示(以不同为基准)
Tallying是一个简单的计数系统,可在基础5中使用。全世界使用了各种不同的计数系统,但是在大多数英语国家中使用的计数系统可能是最简单的-通过标记垂直线来计数单位,然后每个第5个标记在前面的四个集合中放置一条水平线。这会将计数标记分为5组(并使它们更容易快速计数)。 您将要编写一个程序,该程序显示到一个给定值的计数标记。但是,仅以5为基数就很无聊!因此,您的程序还应该能够显示不同基准的计数。 输入值 输入将是一个或两个用逗号分隔的非负整数值(例如9或8,4)。第一个数字是理货应显示的值。第二个值是计数的基础。如果未提供第二个值,请使用5为底。 输出量 输出将是输入的值,表示为ASCII艺术标记。这是一些示例,您可以根据这些示例测试程序-输出应与它们完全匹配! 输入:12或12,5 | | | | | | | | | | -+-+-+-+- -+-+-+-+- | | | | | | | | | | | | 输入: 7,3 | | | | | -+-+- -+-+- | | | | | | 输入: 4,2 | | …

5
快速触发计算
快速三角计算 您的任务是创建一个程序,该程序可以以度为单位计算角度的正弦,余弦和正切。 规则 没有内置的三角函数(如果您的语言有,则甚至不包括割线,割线和切线)。 您可以使用查找表,但它们的总大小不能超过3000个成员(对于所有三个操作的总和)。请使其从文件(例如trig.lookup)中读取表,以免它们混淆代码。 没有网络访问。 您必须按照以下说明正确舍入输出。不要使用地板或天花板。 您可以使用任何方法来计算值,例如连续分数,只要它对7个有效数字是正确的即可。 您的代码必须能够自行计时。从您的时间中排除文件I / O操作-因此只需对执行触发和任何舍入的函数计时。 我必须能够运行您的代码。请发布指向免费提供的编译器/解释器的链接,并提供编译/运行代码所需的说明(例如,传递给GCC的选项)。 有标准漏洞。 输入格式 从名为的文件中读取,trig.in除非您的语言不支持文件I / O。 角度在0到360之间(包括0和360)。 输入将包括与十位有效数字的角度(十进制数字),并用新行分隔。例如: 90.00000000 74.54390000 175.5000000 输出格式 对于提供的每个角度,必须在一行上将其正弦,余弦和切线输出为7个有效数字,并用空格隔开。使用“科学符号”,例如1.745329E-5用于tan 0.001或1.000000E+0用于sin 90。 用表示无穷或NaN n,例如的输出90.00000000应为1.000000 0.000000 n。 如果输入是由换行符分隔的三个角度,则您的输出应包括三条线,每条线包含正弦,余弦和切线。 您可能不会输出其他任何内容。 trig.out除非您的语言不支持文件I / O,否则输出到名为的文件。 计分 最快的代码。面临的挑战是编写一个程序,以尽快计算这三个值。最快的时间获胜。 每个人都会收到许多角度的相同测试输入。 时间将记录在我的机器上。 您的得分是在同一输入上进行三轮测试的平均值(您显然无法在两次测试之间保存任何内容)。 不包括编译时间。这个挑战更多地是关于所使用的方法,而不是语言。(如果有人能指出我如何排除诸如Java之类的语言的编译时间,我将不胜感激) 我的机器是Ubuntu 14.04安装。处理器的统计信息位于Pastebin上(通过运行获取cat /proc/cpuinfo)。 测试完毕后,我会在您的答案中编辑您的时间。

8
外箱思考
您试图将球体装入5边形的盒子中,但有时不能完全适合。编写一个函数来计算球体在框的外部(框的边缘上方)有多少。 有3种可能的情况: 球体完全适合盒子。答案将为0。 球体位于盒子的边缘。答案将超过总数的一半。 球体位于盒子的底部。 您可以在此处查看每种情况: 您必须编写一个程序或函数来将此值计算为至少4个有效数字。 输入:4个非负实数,采用任何方便的格式*-宽度,长度,盒子的深度(内部度量)和球体的直径。 输出:1个可用格式的非负实数*-框外球体的总体积(不是百分比)。 *必须与十进制字符串可相互转换 鼓励您尽可能限制使用三角函数。 这是一场人气比赛,所以跳出框框思考吧!

10
(最多)5个素数的总和
陶仁涛最近证明了哥德巴赫猜想的一种弱形式!让我们利用它! 给定一个奇数整数n > 1,n最多写5个素数。随心所欲输入,随心所欲输出。例如, def g(o): for l in prime_range(o+1): if l == o: return l, for d in prime_range(l+1): for b in prime_range(d+1): if l+d+b == o: return l,d,b for c in prime_range(b+1): for h in prime_range(c+1): if l+d+b+c+h == o: return l,d,b,c,h 是Sage代码,它将整数作为输入,并返回一个整数列表作为输出,其和为n。根据陶定理,这将永远终止! 输入值 一个奇数整数n。您可以决定如何接受输入,但是如果很奇怪,请解释一下。 输出量 相当开放。返回列表。打印一个字符串。给一个,几个或全部。将废话以可预测的方式放在堆栈(GS,Piet等)上或连续(可访问)的内存块(BF等)中。对于这些以后的情况,请解释输出。在所有情况下,退货/打印/拥有的内容应该是n素数分区少于6个部分的简单表示。 计分 …
16 code-golf  math  primes 

6
计算2个数字之间的小数位数
假设我们有一个非负整数,如果其平均数字值大于7,则该整数为“重”(即“重”)。 数字6959是“沉重的”,因为: (6 + 9 + 5 + 9)/ 4 = 7.5 数字1234不是,因为: (1 + 2 + 3 + 4)/ 4 = 2.5 用任何语言编写一个函数, HeftyDecimalCount(a, b) 当提供两个正整数a和b时,它返回一个整数,该整数指示在[a..b](含)区间内有多少个“重”整数。 例如,给定a = 9480和b = 9489: 9480 (9+4+8+0)/4 21/4 = 5.25 9481 (9+4+8+1)/4 22/4 = 5.5 9482 (9+4+8+2)/4 23/4 = 5.75 9483 (9+4+8+3)/4 24/4 …

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

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.