Questions tagged «arithmetic»

与基本算术有关的挑战。

27
数数,替换,重复!
定义 如下定义CURR序列的第n 个数组。 从单例数组A = [n]开始。 对于A中的每个整数k,用k个自然数替换条目k,从1到k递增。 重复上一步骤n-1次。 例如,如果n = 3,我们从数组[3]开始。 我们替换3用1,2,3,得到[1,2,3] 。 我们现在更换1,2,和3带1 ; 1,2和1,2,3(resp。),产生[ 1,1,2,1,1,2,3 ]。 最后,我们对数组中的所有六个整数执行与上一步相同的替换,得到[ 1,1,1,2,1,1,1,2,1,2,3 ]。这是第三个CURR阵列。 任务 编写一个函数程序,给定严格的正整数n作为输入,该程序将计算第n 个 CURR数组。 输出必须是某种类型的平面列表(以及从函数返回的数组,您语言的数组语法的字符串表示形式,以空格分隔的等)。 这是代码高尔夫球。可能以字节为单位的最短代码获胜! 测试用例 1 -> [1] 2 -> [1, 1, 2] 3 -> [1, 1, 1, 2, 1, 1, 2, 1, 2, 3] 4 -> …

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

12
计算物体的体积
您可以根据一组给定的尺寸确定对象的体积: 球体的体积可以使用一个数字确定,半径(r) 圆柱体的体积可以使用两个数字确定,即半径(r)和高度(h) 可以使用三个数字(长(l),宽(w)和高(h))确定盒子的体积 可以使用四个数字(边长(a, b, c)和高度(h))确定不规则三角形棱锥的体积。 面临的挑战是在以下输入之一的情况下确定对象的体积: 单个数字(r)或(r, 0, 0, 0)=>V = 4/3*pi*r^3 两个数字(r, h)或(r, h, 0, 0)=>V = pi*r^2*h 三个数字(l, w, h)或(l, w, h, 0)=>V = l*w*h 四个数字(a, b, c, h)=> V = (1/3)*A*h,A由Heron公式给出:A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)) 规则和说明: 输入可以是整数和/或小数 您可以假设所有输入尺寸均为正 如果Pi是硬编码的,则必须精确到:3.14159。 输出必须至少包含6个有效数字,但可以用较少的数字准确表示的数字除外。您可以将输出3/4为0.75,但4/3必须为1.33333(可以输入更多数字) 如何舍入不正确的值是可选的 无效输入的行为未定义 I / O的标准规则。输入可以是列表或单独的参数 这是代码高尔夫,所以最短的解决方案以字节为单位。 测试用例: …

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

9
求和持续时间
挑战 编写最短的代码,可以对标准输入中出现的所有持续时间求和。程序必须仅考虑与以下模式之一匹配的字符串,而忽略其余模式。 HH:MM:SS (it will be interpreted as HH hours, MM minutes and SS seconds) H:MM:SS (it will be interpreted as H hours, MM minutes and SS seconds) MM:SS (it will be interpreted as MM minutes, SS seconds) M:SS (it will be interpreted as M minutes, SS seconds) 与枚举模式匹配的字符串示例: 12:00:01 …

21
从一个开始
给定一个严格的正整数n,请按照下列步骤操作: 用n 1 s 创建一个数组A。 如果A仅具有一个元素,则终止。否则,从第一个元素开始,用A的和替换每对A,如果A的长度为奇数,则保留最后一个元素,然后重复此步骤。 在从第一步到最后一步的每一步之后,输出应包含A的状态。禁止使用标准漏洞。这是一个代码挑战,因此每种语言中字节数最少的解决方案将获胜。 测试用例 这些示例输出中的每一行都是一个状态。您可以通过任何合理的格式输出。 输入: 1 [1] 输入: 4 [1, 1, 1, 1] [2, 2] [4] 输入: 13 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2, 2, 2, 2, 2, 2, 1] [4, 4, 4, 1] [8, 5] [13] …

14
找出所有具有重复值的(对角)对角线
挑战: 给定矩阵输入,确定具有重复数字的对角线和反对角线的数量。 因此,如果我们有一个像这样的矩阵: [[aa,ab,ac,ad,ae,af], [ba,bb,bc,bd,be,bf], [ca,cb,cc,cd,ce,cf], [da,db,dc,dd,de,df]] 所有对角线和反对角线将是: [[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df], [af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]] 例: [[1,2,1,2,1,2], [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] 所有对角线和反对角线将是: [[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1], [2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]] 删除仅包含唯一数字的所有对角线和反对角线: [[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]] 因此,输出为包含重复数字的对角线和反对角线的数量: 6 挑战规则: 如果输入矩阵为空,仅包含1个数字或整个矩阵中仅包含唯一数字,则输出始终为0。 确保输入仅包含正数[1,9](除非它完全为空)。 矩阵将始终为矩形(即,所有行的长度均相同)。 I / O是灵活的。输入可以作为整数列表的列表,或者作为整数的2D数组,或者作为矩阵对象,作为字符串等。也可以将矩阵的一个或两个维度作为附加输入。是否以您选择的语言保存字节。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: Input: Output: [[1,2,1,2,1,2], 6 [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] [[]] 0 …

19
书面数字序列
这是一个合理的琐碎序列,不在在线整数序列百科全书中。 从一个空序列开始,然后将每个术语定义为用英文写出到目前为止序列中所有数字的字符数,这些数字不带空格。* 供参考(英文的所有(十进制)数字的字符数): zero one two three four five six seven eight nine 4 3 3 5 4 4 3 5 5 4 (这是A52360和A5589的开始。) 由于空序列中存在零位,因此这使第一项a(0)=0a(0)=0a(0) = 0。 这使得第二个条目a(1)=4a(1)=4a(1) = 4因为它需要四个字符来写入“零”,这是迄今为止唯一的数字。 这使第三个条目a(2)=8a(2)=8a(2) = 8因为要再花四个字符来写“四个”,总共要八个字符才能写“ zerofour”。 这使第四个条目a(3)=13a(3)=13a(3) = 13因为要再花五个字符才能写“八”,总共要十三个字才能写“ zerofoureight”。 这使第五个条目a(4)=21a(4)=21a(4) = 21,这是因为要花更多的八个字符才能写“ onethree”,总共要花21个字符才能写“ zerofoureightonethree”。 ...等等。以下是前100个条目: 0, 4, 8, 13, 21, 27, …

3
求幂乘以加法
可以将2个整数之间的乘法简化为一系列加法运算,如下所示 3 * 5 = 3 + 3 + 3 + 3 + 3 = 5 + 5 + 5 求幂(将a增大到b)也可以简化为一系列乘法: 5 ^ 3 = 5 * 5 * 5 因此,可以通过创建乘法表达式将乘幂减少为一系列加法,然后减少为一系列加法。例如,5 ^ 3(5立方)可以重写为 5 ^ 3 = 5 * 5 * 5 = (5 + 5 + 5 + 5 …

14
最小整数作为给定因子的乘积
最近有很多与质数/素数分解相关的挑战,所以我认为走另一条路可能很有趣。 鉴于: 一个正整数n,和 正整数的非空列表 f 编写一个完整的程序或函数以找到最小的整数i,使得i >= n和i是f。中元素的非负整数幂的乘积。 例子: 假设n = 11, f = [2, 3, 5]。 前几个产品是: 1 = 2^0 * 3^0 * 5^0 2 = 2^1 * 3^0 * 5^0 3 = 2^0 * 3^1 * 5^0 5 = 2^0 * 3^0 * 5^1 4 = 2^2 * …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 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 

15
扩展真理机
许多人知道编程中的真机。但是现在是时候让我们努力了。介绍,扩展的真机!扩展的真理机器将两件事作为输入,一个整数n和一个非空字符串s。输出s n带有可选尾随空格的时间。但是,如果n等于0,则必须输出,s直到手动停止程序为止,即永远不要终止它。 另外,如果n为负数,则字符串需要颠倒。例如,使用s=helloand n=-1,输出将为olleh。 输入的标准方法,任何种类的输出,只要可以处理无限。如果您的答案不能处理无限大,请在有趣的情况下或以无法处理无限大输出的语言随意发布。 测试用例 n, s, output 5, "hello world", "hello worldhello worldhello worldhello worldhello world" 0, "PPCG", "PPCGPPCGPPCGPPCG..." -2, "truThY", "YhTurtYhTurt" 2000, "o", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" 这是代码高尔夫球,所以最短的代码获胜! 这是原始的沙盒帖子。已对其进行了编辑。感谢@ComradeSparklePony创建了这个挑战的想法

13
算术表的整数位
挑战: 根据输入,输出以下六个算术表之一的“整数”: -加法(+); -减法(-); -乘法(*); -除(/); -取幂(^); -模运算(%)。 规则: 我该怎么界定为“整数位”:算术操作数正好是以下情况之一的每一个结果:0,1,2,3,4,5,6,7,8,9。这意味着您将排除每个等于10或更高的结果,每个等于-1或更低的结果以及每个非整数的结果。 我们如何计算算术结果:首先使用高位数字,然后使用左数位的操作数。你被允许这样做,反之亦然(即y/x代替x/y),只要你对输出的所有六个一致!(因此,不允许您使用y-x且x/y答案相同。)† 对于除以0的测试用例,我们将不会输出任何内容(用于除法和模运算表) 我们不会为edge-case输出任何内容0^0。 输出: 因此,输出以下内容(表格式有些灵活(请参见下文):因此,这些行是可选的,主要是为了提高测试用例的可读性而添加的): 加成: + | 0 1 2 3 4 5 6 7 8 9 ----------------------- 0 | 0 1 2 3 4 5 6 7 8 9 1 | 1 2 3 4 5 6 7 …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

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.