Questions tagged «arithmetic»

与基本算术有关的挑战。

9
两个列表的未分类主化
定义 一种载体,一含有Ñ元件据说 majorize或 支配的矢量b与Ñ 元件当且仅当对于所有的值ķ使得1≤ ķ ≤ Ñ,的第一个元素的总和一个↓通过ķ的第i个元素一个↓是更大等于或等于b ↓的第一个到第k个元素的和 ,其中v ↓表示按降序排序的向量v。 那是, a_1 >= b_1 a_1 + a_2 >= b_1 + b_2 a_1 + a_2 + a_3 >= b_1 + b_2 + b_3 ... a_1 + a_2 + ... + a_n-1 >= b_1 + b_2 + ... + b_n-1 a_1 …

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

8
转换为罗马数字!
您的任务是将给定的正整数从阿拉伯数字转换为罗马数字。 当您计数到4000时,事情就会变得困难。 罗马人通过在符号上方添加一条线将该符号乘以来做到这一点1 000。但是,上划线不能完全以ASCII显示。此外,还有两次将符号乘以的上划线1 000 000,然后是三次将符号乘以的上划线1 000 000 000,等等。 因此,我决定使用括号代替上划线。 这些符号可以单独放在括号中。例如,(VI)和和(V)(I)都是的有效表示形式6 000。(V)M也是6000的有效表示形式。 (I)是一种有效的表示方式1 000。 测试用例 Input: 1 Output: I Input: 2 Output: II Input: 3 Output: III Input: 4 Output: IV Input: 15 Output: XV Input: 40 Output: XL Input: 60 Output: LX Input: 67 Output: LXVII Input: 400 Output: …

7
找到最佳的移门宽度
滑动门的价格随门的宽度而变化。不同的价格如下: 60-80厘米:¤150 81-100厘米:¤200欧元 101-120厘米:¤220 购买壁橱时,您显然希望将成本降至最低,因此您的任务是根据壁橱的总宽度找到最小化总成本的门宽。 规则: 总宽度将作为输入 所有门的宽度相同 如果两种类型的门价格相同,则选择最小的门 宽度以厘米为单位,整数而不是小数 舍入小数 价格应以整数形式返回(不需要货币符号) 输入和输出格式是可选的,但是输出的顺序必须是:Number of doors, Width, Price。 输入将在范围内[120 1000)。 这是代码高尔夫。以字节为单位的最短代码获胜。 例子: Input: 156 Output: 2, 78, 300 Input: 331 Output: 3, 111, 660 Input: 420 Output: 4, 105, 880

3
解读数学符号
如果您已经读过卡尔·萨根(Carl Sagan)的《接触》一书,这个挑战对您来说似乎很熟悉。 给定一组数学方程式的输入,该数学方程式由一个数字,一个未知算子,另一个数字和结果组成,推论出哪些算子表示加,减,乘或除。 每个输入方程将始终包含 非负整数 一个字母A,B,C,或者D 另一个非负整数 性格 = 最终非负整数 连接在一起。例如,可能的输入是1A2=3,从中可以推断出A表示加法的值。每个整数都将满足0 ≤ x ≤ 1,000。 但是,它并不总是那么简单。之间可能存在歧义: 5A0=5:加/减 1A1=1:乘法/除法 0A5=0:乘法/除法 2A2=4:加法/乘法 4A2=2:减法/除法 0A0=0:加/减/乘 等等。面临的挑战是如何利用这种能力来缩小选择范围,并结合消除过程来弄清楚每个字母代表什么运算符。(将始终至少有一个输入方程式,并且始终可以使用一个运算符将输入中使用的每个字母唯一地唯一匹配。) 例如,假设输入为以下方程式: 0A0=0:这会将A缩小为加,减或乘(不能除以0)。 10B0=10:B必须是加法或减法。 5C5=10:C显然是加法,这使B减,这使A乘法。 因此,输出为这些输入方程应当匹配A与*,B 与-,和C用+。 输入可以以单个空格/逗号分隔的字符串或字符串数​​组的形式给出,每个字符串表示一个方程式。输出可以是单个字符串("A*B-C+"),数组(["A*", "B-", "C+"])或类似字典/字典的2D数组({"A": "*", ...}或[["A", "*"], ...])。 您可以假设一个数字永远不会被另一个不可分割的数字除(因此,您不必担心除法是浮点数还是截断法)。 由于这是代码高尔夫球,因此以字节为单位的最短代码为准。 测试用例: In Out ------------------------------- 0A0=0 10B0=10 5C5=10 A*B-C+ 100D100=10000 D* 4A2=2 4B2=2 …

8
平滑线图
给定一个整数n的输入和一个正整数m 1, m 2,...的列表,输出一个整数列表m 1 ', m 2 ',...,其中m x '被定义为m的平均值 xn到m x + n。 计算这些平均值时,请忽略超出范围的索引(并相应地调整要除以的总和)。n总是≥1,但绝不能是m(舍入)的长度的一半或更多。这意味着最小长度米为4中的元素米将是正整数,但输出必须精确到至少3位小数。 列表的输入/输出元素可以是空格/逗号分隔的字符串,也可以是数组/列表/等。对于输入,如果您的解决方案是一个函数,则可以另外使用n的第一个参数和m x的其他参数(这也适用于命令行参数)。 这是以下内容的直观表示n=1: 1 4 5 7 10 __/ | | | L avg(1,4) = 2.5 | | | \___/ | | L avg(1,4,5) = 3.333 | | \___/ | L avg(4,5,7) = 5.333 …

6
独特的乘法螺旋
这是受Calvin's Hobbies最近乘法表挑战的启发。 编写一个函数或程序,该函数或程序以整数N作为输入,并打印或返回N×N的唯一乘法螺旋。该代码必须(理论上)适用于0到1000之间的N(尽管很难输出)。输出应等于通过以下过程生成的表: 填写N×N乘法表。例如,N = 3: 1 2 3 2 4 6 3 6 9 从左上角顺时针旋转,记下您访问的数字。当您访问已访问的号码时,将其替换为0。 几个例子可能会更清楚: n = 0: 0 n = 1: 1 n = 2: // Spiral order: 1 2 // 1 2 0 4 // 4 3 n = 3: 1 2 3 // 1 2 …

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

4
非常好的弗里德曼数字
甲弗里德曼号是一个正整数,它等于使用它自己的位结合的操作+,一个非平凡表达- ,*,/,^,括号和级联。 尼斯弗里德曼数是一个正整数,等于一个不平凡的表达式,该表达式使用其自己的数字与相同的运算结合使用,这些数字按其原始顺序排列。 我在这里发明的甚尼斯弗里德曼数(VNFN)是一个尼斯弗里德曼数,可以不用这种表达的不太漂亮的部分来书写(在我看来)。括号,串联和一元取反是不允许的。 对于此挑战,可以使用三种可能的方式编写不带括号的表达式。 前缀:这等效于左联想。这种类型的表达式的所有运算符都写在数字的左侧。每个运算符适用于以下两个表达式。例如: *+*1234 = *(+(*(1,2),3),4) = (((1*2)+3)*4) = 20 可以这样写的VNFN是343: ^+343 = ^(+(3,4),3) = ((3+4)^3) = 343 后缀:这等效于右联想。就像前缀表示法一样,除了操作在数字的右边。每个运算符都适用于前面的两个表达式。例如: 1234*+* = (1,(2,(3,4)*)+)* = (1*(2+(3*4))) = 14 可以这样写的VNFN是15655: 15655^+** = (1,(5,(6,(5,5)^)+)*)* = (1*(5*(6+(5^5)))) = 15655 中缀:中缀表示法对这五个操作使用标准操作顺序。出于挑战的目的,将按以下方式定义操作顺序:括号^右为第一个,关联为右。然后,将括号括起来*,/同时将其左移。最后,将括号括起来+,-同时将其左移。 1-2-3 = (1-2)-3 = -4 2/3*2 = (2/3)*2 = 4/3 2^2^3 = …

1
二零一五难题
背景 这个难题是四个四分之一难题的变体(本身就是上一个问题的主题)。像这个难题一样,目标是仅使用四位数字和某些数学运算符来查找不同整数的数学表达式。但是,在这种情况下,允许的数字仅为2、0、1和5。每个解决方案必须以正确的顺序准确地出现一次。令人惊讶的是,可以用这种方式表示许多整数。鼓励求解器首先尝试手动解决问题,因为它很有趣。 规则 常数可以由一个或多个数字构成: 整数:例如2、0、15等 小数:例如.2,.01、1.5等。 重复小数点:例如.2〜(= 0.222 ...)、. 15〜(= 0.1555 ...),20.15 ~~(= 20.1515 ...) 允许以下一元运算: 一元否定:-x 平方根:sqrt(x) 整数阶乘:x! 允许以下二进制操作: 标准算术运算符:x + y,xy,x * y和x / y 任意幂:x ^ y 任意根:rt [x](y)(= y的第x个根) 任务 您的程序应打印出尽可能多的0到100之间的整数的表达式,然后输出产生的表达式数量。 解决方案必须按顺序打印,格式为n = [expr]。 表达式必须依次使用所有数字2、0、1、5。 表达式必须使用上述符号打印。允许但不需要括号,空格也是如此。运算符的优先级顺序为一元否定,阶乘,乘幂,乘/除和加/减。 该程序无需返回所有数字的解决方案。因此,仅输出0的程序有效。但是,请参阅下面的评分部分。 该程序应在不到15分钟的现代计算机上运行。 您可以编写程序或函数。表达式应打印到STDOUT(或最接近的替代项)。表达式的数量可以打印到STDOUT或作为整数返回。适用标准代码的高尔夫限制。 输出示例 0=2*0*1*5 10=20*1*.5 42=((2+0!)!+1)!/5! 100=20*1*5 4 计分 …

30
整数对数
鉴于整数N , P > 1,找到最大的整数M这样P ^ M ≤ N。 输入/输出: 输入为2个整数N和P。输出将是整数M。 例子: 4, 5 -> 0 33, 5 -> 2 40, 20 -> 1 242, 3 -> 4 243, 3 -> 5 400, 2 -> 8 1000, 10 -> 3 笔记: 输入将始终有效,即它将始终是大于1的整数。 学分: 该名称的信誉归@cairdcoinheringaahing所有。最后3个示例由@Nitrodon提供,改进说明的功劳归@Giuseppe所有。

10
创建N维单形(四面体)
一个可以为任何尺寸创建的最简单的N维形状是Simplex,这是一组N + 1个点,它们彼此之间的距离相等。 对于2维,这是等边三角形,对于3维,这是正则四面体,在4维上是5单元,依此类推。 挑战 给定整数维N作为输入,输出代表该维单纯形的数组/列表/堆栈/ N个维点中的任意一个。即,N + 1个顶点彼此相等且距离不为零。 Lua中的参考实施 例子 1 -> [[0], [1]] 2 -> [[0, 0], [1, 0], [0.5, 0.866...]] 4 -> [[0, 0, 0, 0], [1, 0, 0, 0], [0.5, 0.866..., 0, 0], [0.5, 0.288..., 0.816..., 0], [0.5, 0.288..., 0.204..., 0.790...]] 笔记 输入是任何标准格式的数字,并且始终是大于1且小于10的整数 硬编码允许输入1,但不能更高。 输出中允许出现合理的错误。浮点算术或Trig问题可能会被忽略。 N维单纯形的任何变换都是允许的,只要它保持正则和非零即可。 …

18
加密数字!
问题: 两个敌对的秘密特工设计了一种极好的(对您来说)通信方式! 加密过程的工作原理如下: 1)取每个字母的ascii等效项。(不发送空格,数字或标点符号) 2)对于消息中的每个字母,将它和它后面的字母(如果存在,如果不存在,则应视为0)的等效字母乘以(此乘积存储在数组/列表中)并求和(此数字也存储在其他列表中)。 3)将两个列表(总和和乘积)连接在一起(总和列表,然后是倍数列表,进入同一数组)并传输。 您需要编写最小的程序来反转此过程并解密以这种格式发送的消息! 输入和输出对示例: [173, 209, 216, 219, 198, 198, 225, 222, 208, 100, 7272, 10908, 11664, 11988, 9657, 9657, 12654, 12312, 10800, 0] -> “HelloWorld” [131, 133, 164, 195, 197, 99, 4290, 4422, 6499, 9506, 9702, 0] -> “ABCabc” 这是代码高尔夫球,因此以字节为单位的最小解决方案获胜。 错误消息是允许的。 如果在提交中指定,则可以为程序提供列表1维数组或逗号分隔的字符串。默认值为数组/列表。

6
找出有理生成函数的系数
如果我们写一个数字序列作为幂级数的系数,则该幂级数称为该序列的(普通)生成函数(或Gf)。也就是说,如果对于某些函数F(x)和整数系列,a(n)我们有: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 然后F(x)是的生成函数a。例如,几何级数告诉我们: 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) 因此,的生成函数1, 1, 1, ...为1/(1-x)。如果我们对上面方程的两边求和并乘以x得到以下等式: x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 因此,的生成函数1, 2, 3, ...为x/(1-x)^2。生成函数是一个非常强大的工具,您可以使用它们来做很多有用的事情。在这里可以找到简短的介绍,但是要获得真正彻底的解释,请参见惊人的图书生成功能学。 在此挑战中,您将有理函数(两个具有整数系数的多项式的商)作为两个整数系数数组的输入作为输入,首先是分子,然后是分母。例如,功能f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

16
弹跳取模两个数字
模运算()的图形如下所示:ÿ= x模ķy=xmodky = x \mod k 这是一个非常有用的功能,因为它允许我们创建“包装”行为。但是,当我要使用它在两堵墙之间创建“反弹”外观时,这非常麻烦。“反弹”功能的图形(ÿ= 反弹(x ,k )y=bounce(x,k)y = \text{bounce} (x, k))如下所示: 的图的周期为。的图的周期为,因为在返回到起点之前,它向上移动单位,然后向下移动另一个单位。对于这两个函数,的最小值均为0,最大值为(实际上,对于具有积分输入的模数函数,其)。另外,对于这两个函数,值为0。k y = 跳动(x ,k )2 k k k y k k − 1 x = 0ÿ= x模ķy=xmodky = x \mod kķkkÿ=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k)2k2k2kkkkkkkyyykkkk−1k−1k-1x=0x=0x=0 挑战 给定一个整数和一个正整数,返回的整数或浮点近似值。k y = 跳动(x ,k )xxxkkky= 反弹(x ,k )y=bounce(x,k)y …

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.