Questions tagged «checksum»

30
用于验证信用卡号等的Luhn算法
挑战 编写最短的程序或函数以计算用于验证(信用卡)号码的Luhn算法。 Luhn算法解释 在RosettaCode中,为此挑战指定了该算法,其示例输入为49927398716: Reverse the digits, make an array: 6, 1, 7, 8, 9, 3, 7, 2, 9, 9, 4 Double the numbers in odd indexes: 6, 2, 7, 16, 9, 6, 7, 4, 9, 18, 4 Sum the digits in each number: 6, 2, 7, 7, 9, 6, …

30
我的条形码有效吗?
的EAN-8条码包括的信息和第八校验和数字7位数字。 通过将数字分别乘以3和1,将结果相加,然后从下一个10的倍数中减去,来计算校验和。 例如,给定数字2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 这些结果数字的总和为55,所以校验和数字为60-55 = 5 挑战 给定一个8位条形码,您的任务是验证它是否有效-如果校验和有效,则返回真实值,否则返回false。 您可以采用以下任何形式的输入: 长度为8个字符的字符串,代表条形码数字 8个整数的列表,条形码的数字 一个非负整数(您可以假设前导零而不给出任何前导零,即1= 00000001,或请求输入中给出零) 禁止计算EAN-8校验和的内置函数(即,使用前7位数字并计算最后7位数字)。 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜! 测试用例 20378240 -> True 33765129 -> True 77234575 -> True 00000000 …

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校验和的内置函数。 …

30
计算ISBN-13校验位
编写一个函数,给定ISBN-13代码的前12位,该函数将通过计算并附加适当的校验位来计算整个ISBN。 函数的输入是一个字符串,其中包含ISBN的前12位数字。它的输出是一个包含所有13位数字的字符串。 正式规格 编写一个函数,当给定一个完全由12个十进制数字组成的字符串s(并且没有其他字符)时,该函数返回具有以下属性的字符串t: t完全由13个十进制数字组成(没有其他字符); s是t的前缀; t中奇数位置(即第一,第三,第五等)的所有数字的总和,加上t中偶数位置(即第二,第四,第六等)的所有数字的总和的三倍。10的倍数。 示例/测试用例 输入值 978030640615 输出量 9780306406157 胜利条件 作为对代码高尔夫球的挑战,最短的答案胜出。

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

22
将ISBN-13转换为ISBN-10
介绍 在此挑战中,您的任务是,在给定书号为ISBN-13的情况下,为书籍生成ISBN-10代码。这样的ISBN-13代码由以下几部分组成-: 978-GG-PPPP-TTT-C 字母G(组),P(发布者),T(标题)和C(校验和)都代表一位数字。出于这一挑战的目的,分组和计算C(参见挑战)并不有趣,我们将删除所有连字符以简化此任务。 ISBN-10号的布局非常相似: GG-PPPP-TTT-c 字母G,P和T中的相同的13位数字的ISBN,但是c是不同的(并且使用不同的算法来计算)。c选择数字的方式应使以下等价成立(数字顺序): 10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11) 例 让我们考虑一下ISBN编号9780345391803:要获得其相应的ISBN-10代码,我们只需删除前导978和校验和3yield 034539180。 接下来,我们需要计算新的校验和: 10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185 下一个可被整除的数字11是187,因此新的校验和为2,因此得到的是ISBN-10代码0345391802。 规则 您的输入将始终具有一个对应的ISBN-10数字(即,该数字正好是13位数字,以开头978) …

23
产生奇偶校验位
甲奇偶校验位,是的校验的最简单的形式之一。首先,您必须选择奇偶校验。假设我们选择了偶数。现在,我们需要一条消息来传输。假设我们的信息是“ Foo”。用二进制形式写成: 01000110 01101111 01101111 现在,我们计算其中1的s 的总数为15。由于15是一个奇数,因此我们必须在消息末尾添加一个额外的位,而现在我们将获得偶数个“ on”位。最后添加的位称为“奇偶校验位”。如果我们为校验和选择了奇数奇偶校验,则必须添加一个额外的“ 0”,以便打开位数保持为奇数。 挑战: 您必须编写一个程序或函数来确定字符串的正确奇偶校验位是多少。您的程序必须接受两个输入: 字符串,s。这是将计算校验和的消息。这将仅限于95个可打印的ASCII字符。 一个字符或单个字符串p,将e用于偶校验或o奇校验。 并产生代表正确奇偶校验位的真假值。如果是1,则为True,如果为,则为false 0。 不允许对字符串或字符中的“ on”位数进行计数的内建函数。例如,执行以下操作的函数f:f('a') == 3或被f('foo') == 16禁止。其他任何事情,例如基本转换,都是公平的游戏。 测试IO: (without the quotes) s: "0" p: 'e' output: 0 s: "Foo" p: 'e' output: 1 s: "Hello World!" p: 'o' output: 0 s: "Alex is right" p: 'e' …

20
分解一个数字!
您的任务是使用以下格式分解数字。 这与基本转换类似,不同之处在于digits,您列出了values,而不是在基本列表中列出,这样列表就加到了输入上。 如果给定的基为n,则列表中的每个数字都必须采用的形式k*(n**m),其中0<=k<n和m在整个列表中都是唯一的。 眼镜 任何合理的输入/输出格式。您的程序/功能需要2个输入并输出一个列表。 输出列表可以是任何顺序。 0 可以排除或包含。 0允许领导。 允许内置。 测试用例 number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 
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.