Questions tagged «arithmetic»

与基本算术有关的挑战。

30
非零数字产品挑战
最初是乘法数字根 挑战 基本上按照标题说 方法 通过我们的一种标准输入法,给定正整数 1 <= N <= 100000000,将每个数字相乘,而忽略零。 例如:拿一个数字,说361218402: 3* 6=18 18* 1=18 18* 2=36 36* 1=36 36* 8=288 288* 4=1152 1152* 1 (忽略零或将它们变成1) =1152 1152* 2=2304 的输出361218402是2304 测试用例 1 => 1 其他数字> 0 =>本身 10 => 1 20 => 2 100 => 1 999 => 729 21333 …

7
一种表达,多种价值
使用我们熟悉的数学符号:+,x,括号和任何有理数,可以轻松创建计算为某个所需数的表达式。例如:1+(2x3)=7,(1+2)+(3x6.5)=22.5依此类推。无聊。 在此挑战中,我们将使用一个新的运算符:±。采用±在表达方式,你需要通过更换来计算表达式±用的+或-在所有可能的方式,并返回集合中的所有可能的值。例如: 1±2±3 = {-4,0,2,6}因为1±2±3可以是,和中的任何一个1+2+3,并且它们的值分别是。 1+2-31-2+31-2-36,0,2,-4 (±2)x(2±3) = {-10,-2,2,10} 由于类似的原因。 现在,事实证明,给定任意一组不同的实数,就可以创建一个表达式+,x,(,),±,和实数计算结果为给定的。 任务 你的任务是写一个程序或功能在您所选择的语言,这需要一个序列(列表/阵列/任何方便的格式)的整数,并输出表达式(作为字符串)包括+,x,(,),±,和有理数计算得出给定数字的集合。 请注意,确切的字符±无关紧要;您可以使用您选择的任何其他字符,只要它可以与您使用的其他字符区分开即可。但是您必须在提交中提及正在使用的字符。 输入允许由所用有理数的十进制近似值(最高合理精度)组成。 输入和输出可以采用任何标准方式进行。 禁止出现标准漏洞。 您可以假设给定的整数将是不同的,并以递增的顺序提供。 输出中可能包含空格和换行符。 获奖标准 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 例子 输入| 可能的输出 ------------- + ----------------------------- [1,2,3] | 2±0.5±0.5 [-7,-3,1,21] | (1±2)x(3±4) 想法来自城镇锦标赛,2015年秋季。

21
镜子中的镜子
二维编程语言通常具有镜像命令,例如/和,\以重定向网格上的指令指针: >>>>\ v v <<<</ 在此挑战中,您将获得一个传入方向和一个镜像,并且需要确定传出方向。 规则 传入方向将被指定为字符之一,NESW而镜像将被指定为/或\。您可以按任何顺序收到这些。您必须使用大写字母。 您可以采用任何方便的格式输入,包括两个字符的字符串,在字符之间使用一些分隔符的字符串,列表中的一对字符,甚至一对单例字符串。如果确实使用带分隔符的字符串,则分隔符不能使用任何字符NWSE\/。 输出应为一个字符NESW或单个字符的字符串。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 您只需要处理8种可能的输入,因此没有理由不对所有代码进行测试: N / --> W N \ --> E E / --> S E \ --> N S / --> E S \ --> W W / --> N W \ --> S

22
四分位数均值
任务 给定(以任何方式)排序的浮点数据集,返回(以任何方式并在正确值的1‰之内)四分位数均值。 一种可能的算法 丢弃数据点的最低和最高的四分之一。 计算剩余数据点的平均值(总和除以计数)。 注意:如果数据集大小不能一分为四,则必须权衡子集共享的数据点。请参阅下面的示例评估2。 评估示例1 给定{1,3,4,5,6,6,7,7,8,8,9,38} 数据计数是12,所以我们除去最低和最高3数据点:{ 1,3,4, 5,6,6,7,7,8,8,9,38 } 其余6个数据点的平均值:(5 + 6 + 6 + 7 + 7 + 8)/ 6 = 6.5 评估示例2 给定{1、3、5、7、9、11、13、15、17} 计数为9,因此每个季度都有2¼个数据点:{ 1,2,(0.25×5),(0.75×5),7,9,11 ,(0.75×13),(0.25×13),15,17 } 其余4.5个数据点的平均值:(0.75×5 + 7 + 9 + 11 + 0.75×13)/ 4.5 = 9

29
子串总和集
介绍 让我们来观察此阵:[3, 2, 4, 1, 1, 5, 1, 2]。 每个元素显示必须加总的子字符串的长度。让我们看一下上述数组的第一个元素: [3, 2, 4, 1, 1, 5, 1, 2] ^ 第一个索引处的元素是3,因此我们现在取一个长度为3的子字符串,其索引与起始位置相同: [3, 2, 4] 求和时,结果为9,因此子字符串总和集合的第一个元素为9。 我们对数组中的所有元素执行此操作: 3 -> [3, 2, 4] 2 -> [2, 4] 4 -> [4, 1, 1, 5] 1 -> [1] 1 -> [1] 5 -> [5, 1, …

30
正负顺序
正负顺序 正负序列是从两个种子开始的序列,a(0)而b(0)。该序列的每次迭代都是该序列的前两个成员的加法和减法。即a(N) = a(N-1) + b(N-1)和b(N) = a(N-1) - b(N-1)。 目的产生无限的正负序列或K给出的第一步K。您可以使用给出K第一步的无限输出程序,生成器或函数/程序来执行此操作。输出顺序无关紧要,只要它是一致的即可。(即,b(K) a(K)或a(K) b(K),之间使用一些非数字,非换行符。)输出必须以输入开头。 测试用例 对于输入10 2(为a(0) b(0),这是第一个K方法(或无限方法的一个子节)的可能输出: 10 2 12 8 20 4 24 16 40 8 48 32 80 16 96 64 160 32 192 128 320 64 384 256 640 128 768 512 1280 256 1536 1024 2560 …

6
1 + 1 = 10,1 + 2 = 3
在以10为底和以2为底的基础上编写一个函数或程序,使其无法执行简单的算术运算(加,减,乘和除)。 该函数将以数学表达式作为输入,并以正确的底数输出正确的结果。输入的n数字将由一个或多个运算符(+ - * /)分隔。 如果所有输入值仅包含0和1,则将所有值视为二进制。如果至少一位数字为2-9,则所有值均被视为以10为底。 规则: 您可以假设数字之间只有一个运算符(10*-1不会出现) 您可以假设没有括号。 普通运算符优先级(如果您有疑问,请尝试在Google计算器中使用表达式)。 您不能假设只会有整数 输入或输出中将没有前导零 您可以假设只会提供有效的输入 您可以假设所有输入值均为正(但减号运算符可能使负输出成为可能,1-2=-1和10-100=-10) 不接受REPL 您可以选择将输入作为单独的参数或作为单个参数,但是输入必须以正确的顺序进行。 也就是说,用户可以代表1-2与输入参数1,-,2,但不1,2,-。 您必须接受+ - * /输入中的符号,不能接受plus,minus等等。 您必须支持浮点值(或不超过您的语言的最大限制,但是不支持仅整数)。 eval 被接受 例子: 1+1 10 1010+10-1 1011 102+10-1 111 1+2+3 6 10*10*10 1000 11*11*11 11011 10*11*12+1 1321 10.1*10.1 110.01 20.2*20.2 408.04 10/5 2 110/10 11 Also accepted (optional …

18
构造梯子
介绍 我想搭梯子。为此,我从垃圾场清理了两个长板,其中有孔,我想将台阶放到这些孔中。但是,孔的位置不均匀,因此步骤会有点儿摇晃,我发现很难估算出我需要的杆数量。你的工作是为我做计算。 输入项 您的输入是两个位向量,以整数数组形式给出,代表了两个板。A 0代表一个不带孔的1 aud的片段(距离的任意单位),而a 1代表一个不带孔的1 aud的片段。数组的长度可能不同,并且包含不同数量1的,但是它们不会为空。 我将按以下方式构造我的梯子。首先,我将两块电路板精确地相距一个aud,然后对齐它们的左端。对于每个索引i,我测量i第一块板的i孔与第二块板的孔之间的距离,切下一根杆,然后将其连接在两个孔之间。一旦我在其中一块板上的孔用完了,我就会停下来。 输出量 您的输出是我将要执行的步骤所需的总杆数,以奥德为单位。输出应正确至少为六个有效数字。 例 考虑输入[0,1,1,0,1,1,1,1,0,0]和[1,0,0,1,1,1,0,0,1]。生成的梯形看起来像这样: 该梯子7.06449510224598中杆的总长度为奥兹。 规则 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 [0] [0] -> 0.0 [0] [1,0] -> 0.0 [1,0,0] [1,1,1,1,1] -> 1.0 [0,1,0,1] [1,0,0,1] -> 2.414213562373095 [0,1,1,0,1,1,1,1,0,0] [1,0,0,1,1,1,0,0,1] -> 7.06449510224598 [1,1,1,1,1] [0,0,1,1,0,1,0,0,1] -> 12.733433128760744 [0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0] [0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1] -> 20.38177416534678

30
零和计数
编写一个程序或函数,如果n≥1,则返回的解数为±1±2±3±...±n = 0。 对于n = 6,没有解,所以答案为0。对于n = 4,有两个解,所以答案为2(两个解是1-2-3 + 4 = -1 + 2 + 3-4 = 0)。 这是OEIS序列A063865。一些示例输入/输出是: n a(n) 1 0 2 0 3 2 4 2 5 0 6 0 7 8 8 14 9 0 10 0 11 70 12 124 13 0 14 0 15 …

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

30
阶乘和
挑战在于计算数字阶乘的数字总和。 例 Input: 10 Output: 27 10!= 10×9×...×3×2×1 = 3628800,数字10的数字总和!是3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 您可以期望输入是大于0的整数。输出可以是任何类型,但是答案应以编码语言的标准为基础。 测试用例: 10 27 19 45 469 4140 985 10053 注意:某些语言不能支持32位以上的整数;对于这些语言,您将不需要计算大量的阶乘。 OEIS链接在此感谢Martin Ender 这是代码高尔夫球,因此字符中最短的代码将获胜!

24
计算袋鼠序列
背景故事 免责声明:可能包含有关袋鼠的虚假信息。 袋鼠穿越了几个发展阶段。随着年龄的增长和力量的增强,他们可以跳得更高和更长,并且在饥饿之前可以跳更多次。 在第1阶段,袋鼠很小,根本无法跳跃。尽管如此,还是不​​断需要营养。我们可以这样表示第1阶段袋鼠的活动模式。 o 在阶段2中,袋鼠可以跳一点,但饿之前不能超过2跳。我们可以代表一个阶段2这样袋鼠的活动模式。 o o o o o 在第2阶段之后,袋鼠会迅速改善。在随后的每个阶段,袋鼠都可以跳得更高一点(在图形表示中为1个单位),并且是原来的两倍。例如,第3阶段袋鼠的活动模式如下所示。 o o o o o o o o o o o o o o o o o 所有这些跳跃都需要能量,所以袋鼠在完成每种活动模式后都需要营养。所需的确切数量可以如下计算。 在阶段n袋鼠的活动模式中为每个o分配高度,即从1到n的数字,其中1对应地面,n对应最高位置。 计算活动模式中所有高度的总和。 例如,阶段3袋鼠的活动模式包括以下高度。 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 1 …

15
拼写单词算术
我们都已经看到过这些在线“算术”,如下所示: Think of a number, divide by 2, multiply by 0, add 8. 而且,通过魔术,每个人最终都得到8! 语言 让我们定义一种使用上面文本的语法的编程语言,称为“ WordMath”。WordMath脚本遵循以下模板: Think of a number, <commandlist>. 这基本上意味着:将一个数字(作为来自STDIN的输入)作为初始累加器,对其执行所有命令,然后输出结果。 这些命令由定界符,(逗号+空格)分隔。有效的命令是(注意,它#代表一个非负整数:): add #/ subtract #-添加/减去累加器的值。 divide by #/ multiply by #- floordiv /乘累加器由给定的值。 subtract from #-与相似subtract,但acc = # - acc代替acc = acc - # repeat-再次执行最后一个命令。这不能是第一个命令,但是您必须支持多个连续的重复。 挑战 你的任务是创建一个程序或功能,这需要一个有效WordMath脚本作为输入和 …

30
霍夫施塔特Q序列
定义 a(1)= 1 a(2)= 1 对于n> 2的a(n)= a(na(n-1))+ a(na(n-2))其中n是整数 任务 给定正整数n,生成a(n)。 测试用例 n a(n) 1 1 2 1 3 2 4 3 5 3 6 4 7 5 8 5 9 6 10 6 11 6 12 8 13 8 14 8 15 10 16 9 17 10 18 11 …

30
圆角Pi日快乐
为了庆祝“ Rounded Pi Day”,您必须利用今天的日期来制作一个程序,该程序将圆的直径乘以3.1416来获取圆的直径并输出其周长,其中必须使用今天的日期获得3.1416。 Input 3 Output 9.4248 etc. 不将日期作为输入。您不必使用日期的所有组成部分,但是pi的数字必须来自格式化Date对象或使用日期对象来获取它。到目前为止的答案看起来不错。 不知道还要指定什么。到目前为止,所有答案都符合我的期望。 我的约束是您必须使用日期的组成部分来提出Pi。您当然可以使用这些组件,乘以0,然后添加3.1416,但这很无聊,而且浪费了宝贵的字符! 最短的代码胜出!

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.