Questions tagged «number»

旨在通过使用,操纵,接受输入或输出数值来解决此难题。

13
中间方方法
介绍 的中间方法用于伪随机数的产生。但是,这在实践中不是一个好方法,因为它的周期通常很短并且存在一些严重的缺点。这是如何运作的?让我们举个例子: 对于种子,我们选择123456: Seed 123456 种子平方(种子×种子)等于: Seed² 15241383936 我们以6位数字开头。这意味着种子平方应交付12位数字。如果不是这种情况,则添加前导零以补偿: Seed² 015241383936 然后,我们取数字的中间部分,其大小与种子的大小相同: Seed² 015241383936 ^^^^^^ 这是我们的新种子:241383。我们重复与上述相同的过程。我们得到以下内容: 0: 123456 015241383936 | | 1: 241383 058265752689 | | 2: 265752 070624125504 | | 3: 624125 389532015625 | | 4: 532015 283039960225 | | 5: 039960 001596801600 | | 6: 596801 这会持续一段时间……现在我们知道中间平方方法是什么,让我们开始挑战吧: 任务 …

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

20
计算数组的maxmax
考虑阵列x诸如[1 5 3 4]和一个数n,例如2。写所有的长度- n滑子阵:[1 5],[5 3],[3 4]。让极小极大阵列的被定义为最小的滑动块的最大值的。所以在这种情况下,这将是最小的5, 5, 4,这是4。 挑战 给定一个数组x和一个正整数n,输出如上定义的minimax。 该数组x将仅包含正整数。n将始终至少为1,并且最多为x。 计算可以通过任何过程来完成,而不必如上所述。 代码高尔夫,最少的字节数获胜。 测试用例 x,n,导致 [1 5 3 4], 2 4 [1 2 3 4 5], 3 3 [1 1 1 1 5], 4 1 [5 42 3 23], 3 42

1
从日期算起一个数学方程式
在我的经济学课上,我和我的朋友们想出了一些方法来重新排列日期(以MM / DD / YY格式)中的数字,以创建有效的数学方程式。在大多数情况下,除级联外,我们还可以使用加,减,乘,除,括号和幂运算。 您的程序应该执行类似的操作。该程序应导入当前日期并插入运算符以根据以下规则打印表达式。 必须按顺序使用数字。不允许重新排列数字。 结果表达式必须在数学上准确。 允许加,减,乘,除,取幂和使用括号。数字的串联也是如此。但是,并非所有操作都是必需的。您不能使用减号使数字为负(例如-1+1+11=102010年11月11日)。 该程序必须在标准计算机上运行60秒。 例如,此挑战写于2015年11月10日。程序会将其解释为11/10/15。样本输出为(1+1)/10=1/5。 奖金 对于程序支持的以下每个选项,您可以将代码中的字节数乘以0.9。 该程序将打印所有可能形成的表达式,并用换行符分隔。如果以附加符号的升序列出表达式,则再乘以0.95。 该程序还适用于MM / DD / YYYY日期,除了可能的日期外,还可以打印年份的前两位数字。如果该奖金与第一笔奖金相结合,则必须打印出该年份的前两位数字的所有可能性。 该方案还打印当有多个等式用于方程(例如,11月11日,2011,1=1=1=1=1=1将被印刷的,除了可能性,例如1*1=1=1=1=1,1*1*1=1=1=1,和1*1*1*1=1=1。所有这样的情况下必须打印为所要达到的第一奖励。 该程序支持转换为2到16之间的基数。请注意,如果基数不是10,则表达式中的所有数字都必须以相同的基数 (Base b)编写,并且必须在表达式之后编写(并相应地b替换)。 这是代码高尔夫球,因此适用标准规则。以字节为单位的最短代码获胜。

2
女士们,做点数学吧!
运算顺序PEMDAS是数学中的基本规则,它告诉我们应该执行哪些顺序运算: “括号,指数,乘法和除法以及加法和减法” 问题是,PEMDAS不是很通用!如果您想以其他顺序执行该怎么办?我们不会把括号弄乱,所以我们将它们放在第一个位置。 创建一个带有两个参数的程序: 一个字符串,告诉操作应该遵循的顺序。一些例子是"DAMES","SAD, ME","ME SAD","MEADS"。是的,空格和逗号都可以,因为这样可使顺序更容易记住。 在聊天中遵循以下建议:支持空格和逗号现在是可选的。 如果其中一个字母丢失,或者还有其他不应该出现的字母,则可以认为输入无效,并根据需要对其进行处理。 字符串或包含应求值的表达式的表达式。 以十进制数或整数形式返回表达式的结果。如果答案不是整数,则必须以十进制数形式返回。 规则: 如果您的语言更简单,可以将两个输入参数合并为一个。 它不必是字符串,但必须有字母。您不能将Addition替换为1,Division替换为2,依此类推。 您可以选择第一个输入。 该表达式从右到左从左到右求值。(规则的更改。在开始的12小时内,具有相反方向的所有提交者将被接受)。 这些操作使用以下符号:( ) ^ * / + -。例如,您不能使用¤代替+添加。 输入表达式中的空格无效作为输入 如果一元+/-直接在+或-后面,则该输入无效。考虑3+-2为无效的输入。可以按照您喜欢的方式对待它(不必产生错误)。如果+或-跟随除加号或减号之外的任何其他运算符,则按通常的方式处理:3*-3 = -9,sin(-2)=-0.909 该程序必须严格遵循字母,so "EMDAS", 1-3+4 => -6和"EMDSA", 1-3+4 => 2。 例子: Input: "EMDAS", "3+6*2/4-1" // -> 3+12/4-1 -> 3+3-1 -> 6-1 -> 5 Output: 5 …

30
分数混合不正确
分数混合不正确 在此挑战中,您将把带分数转换成不正确的分数。 由于不正确的分数使用较少的数字,因此您的代码将需要尽可能短。 例子 4 1/2 9/2 12 2/4 50/4 0 0/2 0/2 11 23/44 507/44 规格 您可以假设输入的分母永远不会为0。输入将始终采用x y/zx,y,z为任意非负整数的格式。您无需简化输出。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。

13
是时候调整一些价格了!
我确定您知道$ 9.99美元的价格方案,而不是使用$ 10美元。好吧,在您担任大型零售商店的系统管理员的新工作中,他们希望价格遵循类似的方案: 所有价格均为美元,不含美分。 所有价格应以5或9结尾,四舍五入到最接近的值,但如果最后一位在5到9之间,则四舍五入。(适用于最后一位2和7) 最低的输入是$ 1,最低的输出价格应该是$ 5。 您的输入是一个整数列表: 12 8 41 27 144 99 3 并且输出应列出新价格。在上述情况下: 15 9 39 29 145 99 5
19 code-golf  number 

19
整数幂
某些数字64可以用多种方式表示为整数幂: 64 ^ 1 8 ^ 2 4 ^ 3 2 ^ 6 [1,2,3,6]以尽可能少的字节输出所有可能的幂(在此为)的排序数组。 输入项 大于1且小于10000的正整数。 输出量 可以将输入表示为的整数幂p(包括1)的数组a^p用整数a。只要顺序正确,输出就可以有小数。 任何浮点问题都必须由程序处理。 例子 Input: 3 Output: [1] Input: 9 Output: [1, 2] Input: 81 Output: [1, 2, 4] Input: 729 Output: [1, 2, 3, 6] 计分板 为了使您的分数出现在黑板上,应该采用以下格式: # Language, Bytes 删除线不会引起问题。 显示代码段 function …
19 code-golf  math  number 

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

11
每日随机高尔夫#3:整数分区
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它而不必担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞3:整数分区 时间增加了一点难度。 甲分区正整数n被定义为正整数,其总和的多集n。例如,如果n = 5存在,则存在以下分区: {1,1,1,1,1} {2,1,1,1} {2,2,1} {3,1,1} {3,2} {4,1} {5} 请注意,这些是多集,因此它们没有顺序{3,1,1},{1,3,1}并且{1,1,3}都被认为是相同的。 给您的任务是n生成的随机分区n。以下是详细规则: 产生的隔板的分布必须均匀。也就是说,在上面的示例中,应该以1/7的概率返回每个分区。 当然,由于PRNG的技术局限性,不可能实现完美的均匀性。为了评估您提交的文件的均匀性,以下操作将被视为产生完全均匀的分布: 从PRNG(在任何范围内)获取一个数字,该数字被证明是(近似)统一的。 通过取模或乘法(或一些其他将值均匀分配的运算)将较大的一组数字的均匀分布映射到较小的一组。较大的集合必须包含至少为较小集合的1024倍的可能值。 由于分区是多集,因此您可以按任何顺序返回它们,并且此顺序不必一致。但是,出于随机分布的目的,顺序被忽略。也就是说,在上面的示例中{3,1,1},{1,3,1}和{1,1,3} 一起返回的概率必须为1/7。 您的算法必须具有确定性的运行时。特别是,您不能生成随机多集,如果它们的总和不等于,则拒绝它们n。 您算法的时间复杂度必须是中的多项式n。特别是,您不能简单地生成所有分区并选择一个随机分区(因为分区的数量与呈指数增长n)。您可能会假设您使用的PRNG可以返回每个值O(1)中的均匀分布值。 您不得使用任何内置函数来解决此任务。 您可以编写完整的程序或函数,并通过STDIN或最接近的替代方案,命令行参数或函数自变量接受输入,并通过返回值或打印到STDOUT(或最接近的替代方案)产生输出。 您可以假定n ≤ 65(这样分区的数目小于2 21)。输出可以采用任何方便,明确的列表或字符串格式。 如果您提交功能,请考虑还提供一些测试程序,该程序会多次调用该功能并打印结果。如果必须在代码中调整参数,则可以。这样做是为了使人们可以检查解决方案至少近似均匀。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。当然,每位用户最短的提交时间也将进入该系列的整体排行榜。 排行榜 该系列的第一篇文章将产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。)

20
生成乌兰数
给定一个整数n(where n < 10001)作为输入,编写一个程序,该程序将输出第一个n Ulam数字。Ulam编号定义如下: U 1 = 1,U 2 = 2。 对于n > 2,U n是大于U n-1的最小整数,U n-1以正好一种方式是两个不同的较早项的总和。 例如,U 3是3(2 + 1),U 4是4(3 + 1)(请注意,(2 + 2)不计入条件,因为术语没有区别),而U 5是6,(U 5不是5因为5可以表示为2 + 3或4 + 1)。以下是前几个Ulam数字: 1, 2, 3, 4, 6, 8, 11, 13, 16, 18, 26, 28, 36, 38, 47, 48, 53, …

26
将数字字符串从单词转换为整数
将包含数字作为单词的字符串转换为整数,而忽略前导零。 例子 "four two"-> 42。 "zero zero zero one"-> 1。 假设条件 提交内容可以假定: 输入字符串由空格分隔的数字词组成。 所有单词都是有效的(在“零” ..“九”的范围内)且小写。空输入的行为是不确定的。 输入字符串始终表示范围内的无符号数字,int并且决不能为空字符串。 计分 答案将以字节计分,而字节数越少越好。

30
很酷的无标题序列
让我们将f n(k)定义为自然数[1,∞)的前k个项的和,其中每个数字重复n次。 k | 0 1 2 3 4 5 6 7 8 9 --------+------------------------------------------------- f_1(k) | 0 1 3 6 10 15 21 28 36 45 deltas | +1 +2 +3 +4 +5 +6 +7 +8 +9 --------+------------------------------------------------- f_2(k) | 0 1 2 4 6 9 12 16 20 …

22
以指数级增长!
挑战 如果有一个基1&lt;b&lt;101&lt;b&lt;101 < b < 10和索引,输出术语,定义如下:t≥1t≥1t \ge 1xtxtx_t x1=1110x1=1110x_1 = 11_{10} xi+1xi+1x_{i+1}是通过将转换为以为底,然后以为底重新解释其数字而获得的xixix_ibbb101010 输出应以为底101010 第5项第5项的基本步骤是: x1=1110x1=1110x_1 = 11_{10}。 1110=2151110=21511_{10} = 21_{5}所以x2=2110x2=2110x_2 = 21_{10}。 2110=4152110=41521_{10} = 41_{5}所以x3=4110x3=4110x_3 = 41_{10}。 4110=13154110=131541_{10} = 131_{5}所以x4=13110x4=13110x_4 = 131_{10}。 13110=1011513110=10115131_{10} = 1011_{5}所以x5=101110x5=101110x_5 = 1011_{10}。 我们输出字符串"1011"或整数1011。 测试用例 注意:这些是被索引的 base 2, term 5 --&gt; 1100100111110011010011100010101000011000101001000100011011011010001111011100010000001000010011100011 base 9, term 70 …
18 code-golf  number 

15
除数富数和穷数
介绍 在奇异的整数世界中,除数就像资产,他们习惯称除数比其反转多的数字为“有钱”,而称除数比其反转数少的数字为“差”。 例如,号码240124012401有五个除数:1,7,49,343,24011,7,49,343,24011,7,49,343,2401,而其逆转,104210421042,只有四个:1,2,521,10421,2,521,10421,2,521,1042。 因此,240124012401被称为富人数量,而104210421042一差数。 给定此定义,我们可以创建以下两个整数,分别包含有数字和无数字: (here we list the first 25 elements of the sequences) Index | Poor | Rich -------|------|------- 1 | 19 | 10 2 | 21 | 12 3 | 23 | 14 4 | 25 | 16 5 | 27 | 18 6 | 29 | …

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.