Questions tagged «arithmetic»

与基本算术有关的挑战。

20
你圣诞节收到了多少礼物?
是的,多少,不是多少... 众所周知,大礼物比小礼物好得多。因此,礼物的价值应始终以总体积来衡量,而不是礼物的数量,重量甚至是组合价格。 由于不愿比较一个人得到的礼物数量,因此您不希望长篇幅的脚本在圣诞晚会上容易被他人看到和阅读。因此,您需要使脚本中的字节数最少。 您的任务很简单:创建一个程序,以任何合适的格式将尺寸列表作为输入,并输出礼物的总体积。每个礼物的尺寸可以是三个数字的集合,也可以是一个数字。如果输入为三个数字(L, W, H),则当前为长方体L x W x H。如果是单个数字(R),则表示当前半径为球形R。 规则: 它可以是完整程序或功能 输入可以是任何方便的格式 如果需要,一个球体可以用一个数字后跟两个零表示 长方体将始终具有所有非零尺寸。 输出应为单个十进制数 只要显而易见的答案是什么,就可以接受其他输出 输出必须在小数点后至少有两位数字 如果数字大于1000,则输出可以采用标准格式/科学计数法。 如果您的语言没有Pi常数,则答案应准确到9999.99。 例子: ((1,4,3),(2,2,2),(3),(4,4,4)) 197.0973 // (1*4*3 + 2*2*2 + 4/3*pi*3^3 + 4*4*4) (5) 523.5988 (5,0,0) 523.5988 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: ## Ruby, <s>104</s> <s>101</s> 96 …

8
总共三本钱中有几内亚几内亚?
直到1971年十进制化,英国货币的基础是将英镑分为240便士。一先令为12便士,所以20先令等于一磅。最小的面额是一分钱的四分之一。硬币还有许多其他面额和昵称,如果您不习惯该系统,可能会造成很多困惑。 挑战 编写一个程序或函数,可以将(几乎)任何面额的旧英语货币转换为其他任何货币。为了使用户更轻松,您需要支持复数形式和昵称。 这些是您必须支持的面额及其同义词。为方便起见,它们在零食中的价值领先于每一行。 1: farthing, farthings 2: halfpence, halfpenny, halfpennies 4: penny, pennies, pence, copper, coppers 8: twopenny, twopennies, twopence, tuppence, half groat, half groats 12: threepence, threepenny, threepennies, threepenny bit, threepenny bits, thruppence, thrupenny, thrupennies, thrupenny bit, thrupenny bits 16: groat, groats 24: sixpence, sixpenny, sixpennies, sixpenny bit, …

2
标准化电话号码
背景 这里的大多数人应该熟悉一些整数基数系统:十进制,二进制,十六进制,八进制。例如,在十六进制系统中,数字abc.de 16表示 a*16^2 + b*16^1 + c*16^0 + d*16^-1 + e*16^-2 但是,也可以使用非整数基数,例如无理数。一旦这样的碱使用黄金比例φ=(1 +√5)/ 2≈1.618 ...。这些定义类似于整数基数。所以一些abc.de φ(其中一个以ê是整数位)将代表 a*φ^2 + b*φ^1 + c*φ^0 + d*φ^-1 + e*φ^-2 请注意,原则上任何数字都可以为负(尽管我们不习惯于此)-我们将以负号表示一个负数~。对于这个问题,我们限制自己,从数字的目的~9来9的,所以我们可以毫不含糊地写(在与之间的波浪线),一个数字作为一个字符串。所以 -2*φ^2 + 9*φ^1 + 0*φ^0 + -4*φ^-1 + 3*φ^-2 将被写为~290.~43。我们称这样的数字为非凡数字。 索号始终可以以标准形式表示,这意味着该表示仅使用数字1和0,而不包含11任何位置,并带有可选的减号表示整个数字为负。(有趣的是,每个整数都有标准形式的唯一有限表示形式。) 非标准格式的表示始终可以使用以下观察结果转换为标准格式: 011 φ = 100 φ(因为φ 2 =φ+ 1) 0200 φ = …

30
计算Adler-32校验和
背景 Adler-32是Mark Adler在1995年发明的32位校验和,它是被广泛使用的zlib库的一部分(也由Adler开发)。Adler-32不像32位循环冗余校验那样可靠,但是–至少在软件中–它更快,更容易实现。 定义 令B = [b 1,,b n ]为字节数组。 B的Adler-32校验和定义为low + 65536×high的结果,其中: 低:=(((1 + b 1 +⋯+ b n)mod 65521) 高:=((((1 + b 1)+(1 + b 1 + b 2)+⋯(1 + b 1 +⋯+ b n))mod 65521) 任务 给定一个字节数组作为输入,请遵循以下条件计算并返回其Adler-32校验和。 您可以将输入作为字节或整数数组或字符串。 在这两种情况下,输入中只会出现对应于可打印ASCII字符的字节。 您可以假设输入的长度将满足0 <length≤4096。 如果选择打印输出,则可以使用不超过256的正数。 如果选择一元,确保解释器可处理多达2个32 - 983056字节输出的机器上的RAM 16吉布。 禁止计算Adler-32校验和的内置函数。 …

21
球体上的随机点
挑战 编写一个程序或函数,该程序或函数不输入任何内容,并在理论上均匀的随机方向上输出长度为的向量。111 这等效于所描述的球面上的随机点x2+y2+z2=1x2+y2+z2=1x^2+y^2+z^2=1 导致这样的分布 输出量 从理论上均匀的随机分布中得出三个浮点数,方程满足精度极限。x2+y2+z2=1x2+y2+z2=1x^2+y^2+z^2=1 挑战备注 理论上,随机分布必须是均匀的。也就是说,如果将伪随机数生成器替换为实数中的真实RNG ,则会导致球体上点的均匀随机分布。 从均匀分布中生成三个随机数并将它们归一化是无效的:将会对三维空间的各个角产生偏差。 同样,从均匀分布中生成两个随机数并将其用作球面坐标也是无效的:向球体的极点会产生偏差。 适当的均匀性可以通过算法实现,这些算法包括但不限于: 根据附近的正态(高斯)分布生成三个随机数,和并将其标准化。 xxxyyyzzz000 实施实例 根据范围内的均匀分布生成三个随机数,和xxxyyyzzz(−1,1)(−1,1)(-1,1)。通过l = √计算向量的长度l=x2+y2+z2−−−−−−−−−−√l=x2+y2+z2l=\sqrt{x^2+y^2+z^2}。然后,如果l>1l>1l>1,则拒绝该向量并生成一组新的数字。否则,如果l≤1l≤1l \leq 1,标准化载体并返回结果。 实施实例 生成两个随机数iii和jjj从均匀的范围内分布(0,1)(0,1)(0,1)并将其转换为球面坐标,像这样:θϕ=2×π×i=cos−1(2×j−1)θ=2×π×iϕ=cos−1⁡(2×j−1)\begin{align}\theta &= 2 \times \pi \times i\\\\\phi &= \cos^{-1}(2\times j -1)\end{align}因此可以通过 x计算xxx,yyy和zzzxyz=cos(θ)×sin(ϕ)=sin(θ)×sin(ϕ)=cos(ϕ)x=cos⁡(θ)×sin⁡(ϕ)y=sin⁡(θ)×sin⁡(ϕ)z=cos⁡(ϕ)\begin{align}x &= \cos(\theta) \times \sin(\phi)\\\\y &= \sin(\theta) \times \sin(\phi)\\\\z &= \cos(\phi)\end{align} 实施实例 在您的答案中提供您正在使用的算法的简短描述。 在MathWorld上阅读有关球体点拾取的更多信息。 输出示例 [ 0.72422852 -0.58643067 …

30
2的幂和
挑战 给定一个整数输入x其中1 <= x <= 255,返回时总结给出了两种力量的结果x。 例子 给定输入: 86 您的程序应输出: 64 16 4 2 输入: 240 输出: 128 64 32 16 输入: 1 输出: 1 输入: 64 输出: 64 如果总和中没有确定的2的幂,则输出可能包含零。 例如,输入65可以输出0 64 0 0 0 0 0 1。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

30
使您的语言*大部分*不可用(强盗的线程)
受到此评论的启发... 感谢用户Step Hen,Wheat-Wizard和Dennis帮助我在发布挑战之前确定了挑战的规格! 这是强盗的线索!有关警察的线索,请转到此处 在这个挑战中,您需要运行一些代码来使您的语言不再满足我们成为编程语言的条件。在这一挑战中,这意味着要做到这一点,以便不再能使用该语言... 进行数字输入和输出 将两个数字相加 测试某个数字是否为质数。 这是一个警察与强盗的挑战,其中有两个不同的挑战,其目标是两个不同:警察将尝试编写一些使该语言几乎不可用的代码,并且强盗将尝试找到允许警察使用的隐藏变通方法恢复他们的语言。 警察将编写两个代码段: 一种使其语言几乎无法使用的方法,例如,通过删除用于进行输入/输出和数字运算的内置函数。此代码是不是允许崩溃或退出。应该可以在此代码段的末尾添加代码,并且该代码将得到评估。和 一小段代码,将两个数字作为输入,将它们加在一起,然后输出它们的和。即使运行第一个代码段后,该代码段也必须仍然能够正常运行。当两个代码片段组合在一起时,它们必须形成一个将两个数字相加的完整程序,或者定义一个将两个数字相加的函数。此代码段可能依赖于晦涩的行为,并且很难找到。 警察还将选择任何标准的输入和输出方法。但是,他们必须准确显示他们正在使用哪种格式(输入和输出)。要破解他们的答案,您必须遵循相同的输入/输出格式,否则您的破解就不算在内。 警察的答案将永远揭示 第一个摘要(显然不是第二个)。 语言(包括次要版本,因为大多数提交可能都依赖于奇怪的情况) IO格式,包括功能或完整程序。强盗必须使用相同的格式才能有效破解。 任何奇怪的情况下,他们的答案才能起作用。例如,仅在linux上运行,或者需要Internet连接。 作为强盗,您必须查看其中一个警察提交的内容,然后尝试对其进行破解。您可以编写任何可以用作代码段2的有效代码段(在使该语言几乎不可用之后将两个数字加在一起)来破解它。但这不是必须是相同的片段,警察最初编写。破解答案后,将代码发布为该线程的答案,并发布指向您答案的链接,作为对警察答案的评论。然后,该帖子将被编辑以指示已被破解。 这是一个例子。对于第一个代码段,您可能会看到以下python 3程序作为警察的答案: Python 3 print=None 从STDIN接收输入并输出到STDOUT 有效的第二个片段可能是 import sys a,b=int(input()),int(input()) sys.stdout.write(a+b) 这是有效的,因为它将两个数字作为输入,并且即使您将两个摘要合并在一起也可以输出它们的总和,例如 print=None import sys a,b=int(input()),int(input()) sys.stdout.write(a+b) 这是对他们答案的有效破解。 如果警察的答案整整一个星期没有变化,他们可以在第二个片段中进行编辑,并指出他们的答案现在是安全的。一旦安全起见,就不能再尝试破解了。如果他们不安全地编辑它,则可以继续尝试对其进行破解,直到他们这样做为止。 强盗线索的胜利者是破解最多答案的用户,而决胜局是他们达到N条裂缝的时间。(例如,如果两个不同的用户各自有5个裂纹,则第5个裂纹首先发布的用户就是获胜者。)经过足够的时间后,我将以最高票数接受获胜者的回答。 玩得开心! 规则澄清 第一个代码段必须正确运行而不需要任何输入。它可能会输出您喜欢的任何内容,并且该输出将被忽略。只要代码段完成后,第二个代码段就可以正确运行。 为了使您的答案有效,实际上必须执行第二个代码段。这意味着答案像 import sys sys.exit() 无效,因为它不会破坏语言。它只是退出。 安全后,您的得分就是两个代码段的字节数。 这可以回溯到“ 请揭示工作答案所需的任何奇怪的情况 …

30
最小公倍数
一组正整数的最小公倍数A是最小的正整数B,使得每个kin都A存在一个正整数n,使得k*n = B。 给定至少两个正整数作为输入,输出它们的最小公倍数。 规则 允许使用内置程序,但是如果您的解决方案使用一个内置程序,则建议您包括一个不使用GCD / LCM内置程序的替代解决方案。但是,替代解决方案完全不会计入您的分数,因此它是完全可选的。 所有输入和输出将在您的语言的本机表示范围内。如果您的语言本身具有任意大整数的能力,那么您的解决方案必须适用于任意大输入和输出。 测试用例 [7, 2] -> 14 [8, 1] -> 8 [6, 4, 8] -> 24 [8, 2, 1, 10] -> 40 [9, 6, 2, 1, 5] -> 90 [5, 5, 7, 1, 1] -> 35 [4, 13, 8, 8, 11, 1] -> …

20
扩展指数
给定两个大于1的整数A和B,按此顺序输出四个数学表达式: 普通表达式A ^ B(A等于幂B)。例如,如果A = 2且B = 3,2^3...。 根据A的重复乘法,A ^ B的展开2*2*2。 A ^ B的扩展以重复添加A为依据,例如 2+2+2+2。 A ^ B在重复加1方面的扩展,例如 1+1+1+1+1+1+1+1。 可以以任何合理的方式输出这四个表达式,只要它们顺序正确且明显不同即可。例如,您可以将它们放在列表中,或将它们打印在单独的行中 2^3 2*2*2 2+2+2+2 1+1+1+1+1+1+1+1 或在等号分隔的一行上: 2^3=2*2*2=2+2+2+2=1+1+1+1+1+1+1+1 可能在数学运算符旁边插入空格,因此 2^3 = 2 * 2 * 2 = 2 + 2 + 2 + 2 = 1 + 1 + 1 + 1 …

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

19
反函数
如果编程功能可以像它们实现的数学功能一样反转,那不是很整洁吗? 编写一个函数(或程序),以x任何形式输入一个输入,然后输出ln(x)。 当对程序字节进行重新排序/反转,以便第一个字节现在是最后一个字节时,它应采用x任何形式的一个输入并e^x取而代之。 您的答案必须至少包含3个正确的有效数字。 近似值可以,只要它们具有至少3个正确的有效数字即可。 您的代码向前和向后都必须使用相同的编程语言。 假设这个程序实现了ln(x): abc你好 然后该程序必须实现e^x: \xBD\xA5\xE5\xA0\xBD\xE4cba 如果您使用的语言没有浮动支持,则为金星。 这是代码高尔夫球的一种怪异形式,因此最短的程序为准。

29
那些贪婪的罗马人!
给定一个严格的正整数,请仅使用加法则返回最短的罗马数字。输出必须MDCLXVI按该顺序包含零个或多个每个字符。14因此,该数字必须为XIIII而不是XIV。 字符的数值为M= 1000,D= 500,C= 100,L= 50,X= 10,V= 5,I= 1。 例子 3 → III 4 → IIII 9 → VIIII 42 → XXXXII 796 → DCCLXXXXVI 2017 → MMXVII 16807 → MMMMMMMMMMMMMMMMDCCCVII

21
列总和
给定非空数字行的非空列表,请计算按列和,这是另一个具有最长输入行长度的列表。输出列表的第一个条目是输入行的所有第一个整数的总和,第二个是所有第二个元素的总和(如果有)等。我认为以下示例将对此进行更好的解释: Input: {[1,2,3,4],[1],[5,2,3],[6,1]} Computation: [1,2,3,4] + . . . [1]. . . + + + . [5,2,3]. + + . . [6,1]. . = = = = Output: [13,5,6,4] 测试用例 {[0]} -> 0 {[1],[1,1,1,1]} -> [2,1,1,1] {[1],[1,2],[1,2,3],[1,2,3,4]} -> [4,6,6,4] {[1,6,2,-6],[-1,2,3,5]} -> [0,8,5,-1]

8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

30
ASCII三角形
您的任务是编写一个打印ASCII三角形的程序或函数。他们看起来像这样: |\ | \ | \ ---- 您的程序将采用单个数字输入n,并带有约束0 <= n <= 1000。上面的三角形的值为n=3。 ASCII三角形将具有n反斜杠(\)和竖线(|),n+1线和破折号(-),并且每行除最终行外还将具有等于行号(从0开始,即第一行为行0)的空格。 。 例子: 输入: 4 输出: |\ | \ | \ | \ ----- 输入: 0 输出: 在此测试用例中,输出必须为空。没有空格。 输入: 1 输出: |\ -- 输入和输出必须完全是我指定的方式。 这是代码高尔夫球,因此请争取尽可能短的代码!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

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.