Questions tagged «arithmetic»

与基本算术有关的挑战。

1
计数坎宁安链
素数总是让人着迷。2300年前,欧几里得在他的《元素》中写道 质数是仅由一个单位测量的质数。 这意味着素只能被 1(或本身)。 人们一直在寻找素数之间的关系,并提出了一些非常奇怪的东西(如“有趣的”)。 例如,一个索菲·热尔曼质数是一个主要p针对2*p+1也是素数。 一个安全素是一种主要p用于哪些(p-1)/2也是黄金,而这正是一个索菲·热尔曼质数的倒退状态。 这些与我们在此挑战中寻找的东西有关。 一个坎宁安链型我是一系列素数,其中除了最后一个的每一个元素是的索菲·热尔曼质数,而除了第一个的每一个元素是一个安全的黄金。该链中元素的数量称为它的length。 这意味着我们从素数开始p计算q=2*p+1。如果也q为质数,则我们有长度为2的I型Cunnigham链。然后进行测试2*q+1,以此类推,直到下一个生成的数字为复合数为止。 II型坎宁安链是按照几乎相同的原理构造的,唯一的区别是我们检查了2*p-1在每个阶段。 坎宁安链的长度可以为1,这意味着2 * p + 1和2 * p-1都不是素数。我们对这些不感兴趣。 坎宁安链的一些例子 2启动长度为5的I型链。 2, 5, 11, 23, 47 下一个构造的数字95不是素数。 这也告诉我们,那5,11,23和47不启动类型的任何链我,因为这将有前述的元素。 2也开始长度为3的II型链。 2, 3, 5 接下来是9,这不是素数。 让我们尝试II11型(之前我们将其排除在I型之外)。 好吧,接下来是下一个,它不是素数,因此该“链”的长度为1,我们不将其计入此挑战。21 挑战 写一个程序或功能,给定一个号码n作为输入,写入/返回的起始数第n个的坎宁安链I或II型的至少长度为2,后跟一个空格,随后链的类型它开始(我或II),然后是冒号,然后是该类型链的长度。万一素数同时启动两种类型的链(类型I 和型 II型),则首先计算型链。 例: 2 I:5 请记住,这n可能是任何类型的先前启动链的一部分,在这种情况下,不应将其视为该类型链的起始编号。 让我们看看这是如何开始的 我们从开始2。由于它是第一个素数,因此我们可以确定没有链从包含的较低素数开始2。 类型I中的下一个数字将是2*2+1 == 5。5是素数,因此我们已经有了至少长度为2的链。 我们将其视为第一条链。那II型呢?下一个号码是2*2-1 == 3。3是素数,因此II型的链长也至少为2。 …

6
失控舍入错误
背景 您最近被一家小型会计师事务所雇用。会计的世界对您来说有点陌生,因此您不确定是否要遵循所有专业准则。特别是,您不知道何时应该将所有这些数字取整,以及朝哪个方向取整,因此,大多数时候您只希望将其取整,并希望取得最好的结果。 输入值 您的输入是代表简单计算的单个字符串。它包含一些由字符分隔的非负整数+-*/。字符串从左到右读取,并且普通优先级规则将被忽略,因此"23+1*3/4"表示“以23开头,加1,乘以3,再除以4”,结果为18。输入将不包含以开头的数字0(0自身除外),也不能除以零。 输出量 在计算的每个阶段,您都可以将结果向上或向下舍入为最接近的整数,或者保持原样。最后,向上或向下舍入以获得整数结果。您的输出是可能由这种计算产生的整数列表,排序后没有重复。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 "42" -> [42] "2+0+4-0" -> [6] "23+1*3/4" -> [18] "5/2" -> [2,3] "5/2+7/3*6-1" -> [17,18,19,23] "23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4] "1/3*2*2*2*2*2*2" -> [0,16,20,21,22,24,32,64] "1/3*9" -> [0,3,9]

7
将n的幂相加
方向 编写一个程序,给定输入整数n(n >= 0),输出最小的正整数 m,其中: n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k] a并且b是相同长度的有限序列 的所有元素a均小于m 的所有元素b均小于m 的所有元素a均不同且为整数a[x] >= 0 的所有元素b均不同且为整数b[x] >= 0 a[x]并且b[x]都不都是0(因为0 ^ 0是不确定的) 这是代码高尔夫球,因此最少的字节获胜。 例子 In 0 -> Out 1 Possible Sum: In 1 -> Out 2 Possible Sum: 1^0 In 2 -> Out 3 …

5
通过重复添加2个数字来生成任何数字
您将获得一台具有两个16位寄存器的计算机,x和y。寄存器被初始化x=1和y=0。机器唯一可以执行的操作是加法65536。即: x+=y- x被替换(x + y) mod 65536; y不变 y+=x -类似地 y x+=x- x被替换2x mod 65536; 仅在x偶数时合法 y+=y -类似地 y 目标是在其中一个寄存器(x或y)中获得预定数量。 编写一个程序或子例程,该程序或子例程接收一个数字(在stdin,,argv函数参数,堆栈顶部或任何其他常规位置),并输出一个程序以获取该数字。输出应该转到任何其他常规输出设备stdout,或者(如果您的语言没有stdout)。 输出程序最多可以达到100%加上最佳值的2个步骤。也就是说,如果最短的获取目标编号的程序包含n步骤,则您的解决方案不能超过2n+2。此限制是为了避免“过于简单”的解决方案(例如,计算1、2、3,...),但不需要完全优化;我希望最短的程序最容易找到,但不能确定... 例如:输入=25。输出: y+=x x+=y x+=y x+=x x+=x x+=x y+=x 另一个示例:对于任何斐波那契数,输出具有此交替模式。对于输入= 21,输出为 y+=x x+=y y+=x x+=y y+=x x+=y y+=x 最短的代码(以字节为单位)获胜。 (这个难题的灵感来自于我最近必须生成的16位处理器的一些代码) PS:我想知道-最佳程序最长的数字是多少?

4
是时候做数学了
介绍 这是我最喜欢的数学难题之一。 给定一个数字(例如3)和使用该数字的次数(例如5),请生成10个表达式,仅使用+即可得出1、2、3、4、5、6、7、8、9和10 -,×,÷,^和√(根)(允许使用括号将操作分组)。 例如: (3^3 + 3)/(3 + 3) = (33 - 3)/(3 + 3) = 3 + 3/3 + 3/3 = 5 请注意,以上所有方法均使用5个3和数学运算并将结果求和为5。您也可以在√之前使用3表示立方根。对于在√之前使用4表示第四个根,也是如此。 另请注意,可以使用两个3来形成33,或者可以使用三个3来形成333,依此类推。 挑战 您将获得两个数字(范围从1到5)作为函数参数,STDIN或命令行参数。 第一个数字表示要使用哪个数字,第二个数字表示要在表达式中使用该数字的次数。 您的程序应输出大小为10(或10个以空格分隔的数字)的数组,其中每个元素表示是否(index + 1)可以使用真/假值来计算(仅使用允许的运算符)得出该数字的数学表达式。 例如,如果输入是 1 3 然后输出应该是 [1, 1, 1, 0, 0, 0, 0, 0, 0, 1] 因为只能使用三个1来表示1、2、3和10。 得分了 这是一个代码高尔夫球,因此以字节为单位的最小代码长度为准。 奖金 …

4
请不要分支
任何精通低级代码优化的人都知道分支的危险,无论将其实现为if语句,循环还是select语句,分支错误预测的可能性都是一件很浪费时钟的事情。 使用简单的算法可以更好地解决简单的问题,所以让我们这样做。 对于以下问题,所有变量都是32位无符号整数,并且唯一允许的代码是仅包含以下运算符的纯集语句: + addition - subtraction * multiplication / integer division, rounds down, division by 0 not allowed % modulo & binary and | binary or ^ binary exclusive or >> bitshift right << bitshift left Logic operators, return 1 if the expression is true and 0 if it …

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: input output 9 3 16 2 343 7 2687 2687 59049 3 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

13
算术循环
输入: 整数n,其是>=0或>=1(f(0)可选) 输出: n以下序列中的第'个数字,或直到第n'个数字并包括第一个数字的序列。 顺序: (0),1,-1,-3,0,5,-1,-7,0,9,-1,-11,0,13,-1,-15,0,17,-1,-19,0,21,-1,-23,0,25,-1,-27,0,29,-1,-31,0,33,-1,-35,0,37,-1,-39,0,41,-1,-43,0,45,-1,-47,0,49,-1,-51,0,53,-1,-55,0,57,-1,-59,0,61,-1,-63,0,65,-1,-67,0,69,-1,-71,0,73,-1,-75,0,77,-1,-79,0,81,-1,-83,0,85,-1,-87,0,89,-1,-91,0,93,-1,-95,0,97,-1,-99 这个序列如何建立? f(n=0) = 0(可选) f(n=1) = f(0) + n或其他f(n=1) = 1 f(n=2) = f(1) - n f(n=3) = f(2) * n f(n=4) = f(3) / n f(n=5) = f(4) + n 。 或使用伪代码: function f(integer n){ Integer result = 0 Integer i = 1 …

25
计算上限Divmod
任务 给定两个正整数(DIVID Ë次和divis ö R),计算q uotient和- [R emainder。 通常,它将被计算为e = o*q+rwhere q*o<=e和0<=r<o。 对于这个挑战,它仍然e = o*q+r不过q*o>=e和-o<r<=0。 例如e=20和o=3,通常是20/3 -> 20=3*6+2,因为18<=20和0<=2<3。这将是20/3 -> 20=3*7-1地方21>=20和-3<-1<=0 测试用例 Input -> Output 20, 3 -> 7, -1 10, 5 -> 2, 0 7, 20 -> 1, -13 100, 13 -> 8, -4 您不需要处理o=0。

10
三重平衡数
描述 如果将三部分中的每一部分中的数字总和为相同的数字,我们认为该整数具有至少三位数的三重平衡。我们按如下方式拆分数字: abcdefghi - Standard case: the number of digits is divisable through 3: abc def ghi abcdefgh - Number % 3 == 2: The outer groups are both assigned another digit abc de fgh (the inner group will have one digit less than both outer groups) abcdefghij - Number …

4
评估模块化电力塔
给定两个数字n和m,请评估无限大功率塔: n ^(n + 1)^(n + 2)^(n + 3)^(n + 4)^ ... mod m 请记住,^是右关联的。因此2 ^ 3 ^ 4 = 2 ^(3 ^ 4)。现在,您如何可能将一个值分配给无数个右联想运算符? 将f(n,m,i)定义为包含无限功率塔的前i个项的功率塔。然后有一个常数C,使得对于每个i> C,f(n,m,i)= f(n,m,C)。因此,您可以说无限大功率塔收敛于某个值。我们对此价值感兴趣。 您的程序必须能够在合理的现代PC上在不到10秒的时间内计算出n = 2017,m = 10 ^ 10。也就是说,您应该实现一个实际的算法,不要强行使用。 您可以假设您的编程语言中的数值限制为n <2 30和m <2 50,但是理论上您的算法必须适用于任何大小n,m。但是,对于这些大小限制内的输入,您的程序必须正确,如果输入在这些限制内,则不会原谅中间值溢出。 例子: 2, 10^15 566088170340352 4, 3^20 4 32, 524287 16

1
帮助哥德尔实现β函数[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 哥德尔的β函数采用三个自然数作为参数。 定义为 β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) 其中rem(a,b)表示a除以b的整数后的余数。 β引理现在指出: 对于任何自然数序列(k_0,k_1,…,k_n),都有自然数b和c使得对于每个i≤n,β(b,c,i)= k_i。 哥德尔需要帮助找到b并c对于任何给定的输入(k_0, k_1, … , k_n), k_i ∈ ℕ。 编写一个函数,该函数接受一个长度为length的数组n,并用自然数填充,并给出b,c满足该数组的引理的可能输出。 不要用蛮力获得解决方案! (根据我完全不专业的观点,当您首先获得一个数字然后进行计算时,这是蛮力的。这是在猜测数字,然后看猜测是否正确。我想在这里编码的是一种解决方案数,并且不必检查它们是否满足引理,因为它们是故意这样做的。) 用给出的方程式和信息构造它们。最短的代码获胜,如果您这样做,将获得加分,Javascript因为我只是参与其中:) 例: [5, 19, 7, 8] -> (1344595, 19) 1344505 …

26
从无序列表中找到两个整数以求和
这是Google的面试问题,请参阅此处的youtube链接。 任务: 从无序列表中找到2个整数,这些整数相加得出给定的整数。 给定一个无序的整数列表,找到2个总和为给定值的整数,打印这2个整数,并指示成功(退出0)。它们不需要是任何特定的数字(即,前2个整数加起来为正确的数字),任何与该值加起来的对都可以使用。 整数为正且大于零。 整数列表可以采用任何数据结构,包括整数文件-每行一个整数。 如果找不到整数,则指示失败(出口1)。 必须返回列表中不同位置的两个整数。(即,您不能从同一位置两次返回相同的数字) (注意:在视频中,这些不完全是要求。“采访者”多次更改了他的位置。) 例如。 sum2 8 <<EOF 1 7 4 6 5 3 8 2 EOF 打印3和5退出状态为0。请注意,在此状态下1,7,2,6还将允许结果。 sum2 8 <<EOF 1 2 3 4 由于没有可能的组合,因此返回退出状态1。4,4根据规则5,不允许。

23
答案链-数字的正数除数
这个答案链式挑战已经正式结束,导致的胜利小麦向导,共有7分的答案。任何其他答案都是欢迎的,但它不会影响对此挑战的公认答案,也不会影响获胜者。 任务: 打印输入的所有正数除数x。 输入: 单个数字x,即应计算其正因数的数字(以10为底)。 输出: 的所有正除数x。任何格式是允许的,其中包括\n,,,;和空格作为分隔符,只要它是可以理解的。输出也可以是整数或字符串数​​组(例如:)[1, 2, 3, 5, 30]。您可以将除数输出到您的语言中的stdout,console或等效语言,也可以将它们从函数返回。 规则 用户可能不会连续回答两次 除了答案2之外,您的答案最多可以从上一个答案中删除,添加或替换15个字符(空格不计算在内),答案2可以“转换”多达20个字符来开始操作 不允许以已经有答案的编程语言发布答案,但该语言的版本完全不同(例如:如果我在中发布答案Python 2.7,则可以使用提交Python 3,但不能使用Python 2.6)。 不允许出现标准漏洞 由于这个挑战,您不允许使用内置函数来获取除数 您必须在问题的标题中包含答案的编号和语言名称,以及上一个答案更改的字符数 计分 一旦事情解决,提交次数最多的用户将获胜。如果出现平局,则在其中一个答案中得分最高的用户将获胜。如果分数也相等,则提交时间最久(得分最高的答案)最久的用户将被宣布为获胜者。 注意: “解决” <=> 7自提交上一个答案以来已经过去了3天 例子: Input, Output: 14 => [1, 2, 7, 14] 25 => [1, 5, 25] 65 => [1, 5, 13, 65] 114 => [1, …

11
解释松散范围
解释松散范围 ListSharp是一种解释型编程语言,具有许多功能,其中一个功能是基于1索引的范围创建器,其工作方式如下: 您可以将范围定义为(INT) TO (INT)或仅定义(INT)两个int可以从min到max int32值的范围 然后,您可以使用这些范围来提取数组的元素,而不必担心会超出其边界 因此: 1 TO 5 产生: {1,2,3,4,5} 3 产生: {3} 范围可以使用AND运算符相加 1 TO 5 AND 3 TO 6 产生: {1,2,3,4,5,3,4,5,6} 记住这也适用于负数 3 TO -3 产生: {3,2,1,0,-1,-2,-3} 挑战如下: 输入值 字符数组和先前定义的range子句作为字符串 输出量 范围中基于1索引位置的元素(不存在/负索引会转换为空字符) 如何取胜 作为代码高尔夫球挑战,您应该创建具有最少字节数的程序以获胜 有人指出不存在空字符,因此您应该忽略它们(我仅在此处显示它们是为了使它们更易于理解,但却使人感到困惑) 测试用例: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

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.