Questions tagged «arithmetic»

与基本算术有关的挑战。

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

13
好奇的素数公式
给定正整数n输出整数a和b(形成减小的分数a / b),使得: 其中p k是第k个素数(p 1 = 2)。 例子: 1 -> 3, 5 2 -> 12, 25 3 -> 144, 325 4 -> 3456, 8125 5 -> 41472, 99125 15 -> 4506715396450638759507001344, 11179755611058498955501765625 420 -> very long 允许概率素数检查,如果由于语言整数类型的限制而导致答案失败,也可以。 以字节为单位的最短代码获胜。

11
递归2x2行列式
2 x 2矩阵的行列式 a b c d 由给出ad - bc。 给定尺寸为2 n x 2 n的数字矩阵,n≥1,输出通过递归计算每个2 x 2子块的行列式获得的结果,直到获得单个数字为止。 例如,给定输入 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 第一步之后,我们获得: (3*9 - 1*5) (4*6 - 1*2) = 22 22 (5*7 - 3*9) (5*3 - 8*9) …

8
谁会赢得足球比赛?
美国足球锦标赛,超级碗50,今天晚上11:30发生UTC(你可以观看在线直播)。挑战是为了庆祝它。 在美式足球比赛中,两支球队竞争以获取最高分,并且有六种方法来得分。我们将给每个缩写: 射门得分 - FG:3分 触地得分 - TD:6分 加分 - XP:1分-只能在达阵后直接得分。 两点转换 - XD(就像加分,但更快乐):2分-只能在触地得分后直接得分。 安全 - S:2分 公平接球 - FCK:3分(非常罕见的比赛) 编写一个仅包含大写和小写这六个缩写的单行字符串的程序或函数。 该字符串表示足球比赛(或比赛的一部分)中的所有得分事件,其中大写字母属于一个团队,小写字母属于另一个团队。 您的工作是报告游戏的最终成绩,并指出谁赢得了表格输出 [score 1] [to] [score 2] 哪里: [score 1] 始终是两个分数中较大的一个(如果不相等),无论大写还是小写获胜。 [score 2] 是两个分数中较小的一个(如果不相等)。 [to]是TO大写团队获胜,to小写团队获胜,还是To平局。 例如:将所有得分事件在第四十九届超级杯 可以用字符串来概括 TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP 大写字母是新英格兰爱国者,小写字母是 Seattle Seahawks。爱国者队得分28,老鹰队得分24,因此输出为: 28 TO 24 笔记 您的程序/函数必须支持任意输入,包括空字符串。 XP并且XD只会在之后发生TD。xp并且xd只会在之后发生td。 在某些情况下,您可能不会假设输入字符串开始或结束。 输入和输出中都可选地允许尾随换行符 …

8
排序串联的序列
考虑一个基于递归关系的序列f(n) = f(n-1)+f(n-2),以开头f(1) = x1, f(2) = x2。对于x1 = 2, x2 = 1,序列开始如下: 2 1 3 4 7 11 18 29 47 76 123 199 322 521 843 将其串联成字符串将得到: 213471118294776123199322521843 现在,将该列表划分为的最小可能数y(n) > y(n-1)。从第一个数字开始,然后从第二个数字开始,等等。第一个输出数字应始终为一位数字。用所需的零数字填充最后一个数字。 2 13 47 111 829 4776 12319 93225 218430 您将以(x1, x2)任何方便的格式得到两个数字作为输入,而挑战是输出排序后的列表。 规则: 功能和程序还可以 初始序列应恰好有15个数字(最后一个数字是f(15))。 x1并且x2为非负数(可能为零)。 输出可以是任何方便的格式 y必须创建输出矢量,以便y2 …

16
输出部分产品
在长乘法中,将数字相乘后,剩下的是部分乘积,在此挑战中,您将输出这些部分乘积。 因为长乘法很长,所以要补偿您的代码将需要尽可能短。 例子 34, 53 102, 1700 48, 38 384, 1440 361, 674 1444, 25270, 216600 0, 0 0 1, 8 8 技术指标 输入/输出可以采用任何合理的格式,例如数组,逗号分隔的字符串(或任何其他不是数字的定界符),列表,函数参数等。 部分产品必须按升序排列。 如果部分产品是0,则可以选择是否要输出。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

9
七周期总和序列
看一下从7×0到7×9的7乘法表: 0, 7, 14, 21, 28, 35, 42, 49, 56, 63 如果只看一个人的数字,就可以得到数字0到9的排列: 0, 7, 4, 1, 8, 5, 2, 9, 6, 3 考虑采用某个正的十进制整数N并将N中的每个数字D替换为7×D处的数字。 例如,15209变得75403因为1映射到7,5映射到5,2映射到4,0映射到0,并9映射到3。 现在让我们用这个新的十进制整数重复此过程,直到看到一个循环,即直到我们已经看到的整数出现为止。 例如,有了15209周期 15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats... ^ | cycle restarts here 再举一个例子,505周期短 505 -> 505 -> repeats... ^ | …

8
数字元胞自动机
编写一个程序或函数,该程序或函数需要一个奇数正整数N和一串十进制数字(0123456789)。该字符串表示十状态一维元胞自动机。每个数字占用一个单元,并且从一代到下一代的更新规则是,每个单元成为由以该单元为中心的N个单元的总和取模得到的数字。 第一个和最后一个单元像邻居一样环绕,因此单元始终可以将N个单元居中。请注意,N可能大于字符串的长度,这意味着它可能会多次缠绕,因此某些数字将多次相加。 例如,如果N为7且字符串为038,为使单元格可视化,我们可以038在两个方向上无限重复地写 ...038038038038038... 则将0变为的数字是以010 为模的任意7个数字的总和: ...038038038038038... ^_____^ | sum all these 这(0+3+8+0+3+8+0)%10是2。 类似地,数字的3和8变化到由被定义(3+8+0+3+8+0+3)%10= 5和(8+0+3+8+0+3+8)%10= 0分别。 因此,之后的生成038是250当N为7时。 您的程序或函数需要打印或返回下一代输入数字字符串的数字字符串。例如,将更新规则应用于每个单元一次并提供输出。以字节为单位的最短代码获胜。 测试用例 [digit string] -> [N = 1], [N = 3], [N = 5], [N = 7], [N = 9], [N = 43] 0 -> 0, 0, 0, 0, 0, 0 1 -> …

7
查找无和分区
执行摘要 给定input k,找到整数分区,1将其划分n为无k和子集,以n在10分钟内找到最大的子集。 背景:舒尔数 一组A是免费的总和,如果其自我总结A + A = { x + y | x, y in A}有没有相同的元素吧。 对于每个正整数,k都有一个最大的整数S(k),以便{1, 2, ..., S(k)}可以将集合划分为无k和子集。该编号称为第k 个 Schur编号(OEIS A045652)。 例如,S(2) = 4。我们可以将分区{1, 2, 3, 4}为{1, 4}, {2, 3},这是唯一的分区,分为两个无和子集,但是现在不能在这5两个部分中添加。 挑战 编写一个执行以下操作的确定性程序: 以正整数k作为输入 将当前的Unix时间戳写入stdout 按照当前的Unix时间戳,将每个序列的划分为1to 的一系列划分n为无k和子集,以进行递增n。 获胜者将是在n输入后10分钟内在我的计算机上打印最大分区的程序5。纽带将以最快的时间断开,以找到最大的n,平均3次运行的分区:这就是为什么输出应包含时间戳的原因。 重要细节: 我有Ubuntu Precise,因此如果不支持您的语言,我将无法评分。 我有一个Intel Core2 Quad CPU,所以如果您要使用多线程,那么使用4个以上的线程是没有意义的。 如果您希望我使用任何特定的编译器标志或实现,请在您的答案中清楚记录。 您不应对代码进行特殊处理以处理输入5。 您无需输出发现的所有改进。例如,对于输入,2您只能输出的分区n …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

30
从原动力中恢复动力
似乎很多人都想拥有此功能,因此现在是此挑战的续集! 定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数幂p n > 1,返回幂n。 测试用例: input output 9 2 16 4 343 3 2687 1 59049 10 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。

12
猜词次数
任务 给定2个正整数n和k,其中n > k输出从一组可n区分元素到一组可k区分元素的排斥数。 定义 如果对于每个t∈T都有s∈S使得f(s)= t,则函数f:S→T被称为素射。 例 当n=3和时k=2,输出为6,因为存在6从{1,2,3}到的排斥{1,2}: 1↦1, 2↦1, 3↦2 1↦1, 2↦2, 3↦1 1↦1, 2↦2, 3↦2 1↦2, 2↦1, 3↦1 1↦2, 2↦1, 3↦2 1↦2, 2↦2, 3↦1 测试用例 n k output 5 3 150 8 4 40824 9 8 1451520 参考 OEIS A019538 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。 有标准漏洞。

8
尽可能邪恶
介绍 这是此挑战的后续活动,在此过程中,您将扮演那个人的邪恶双胞胎角色。邪恶时,您不想最大化自己的份额,而希望尽可能地不公平,并且不会太明显,这就是为什么您提出以下方案的原因: 您将告诉其他人,您希望自己像兄弟姐妹一样公平,因此您将把整数分成相等长度的片段。因此,对于每个整数,您都会想出合适的人数,以使最大和最小的部分之间的差异最大。 例如,如果给定整数6567,则可以将其保留为原样,将其分为两部分65,67或四部分6,5,6,7。这为您带来以下最大差异: 6567 -> max() = 0 65,67 -> max(|65-67|) = 2 6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2 由于您只想做恶人,所以您不喜欢67它7,因此您将输出2或4。 另一个(不太特殊的情况);给定整数,121131您可以像这样拆分它: 121131 -> max() = 0 121,131 -> max(|121-131|) = 10 12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20 1,2,1,1,3,1 -> max(…) = 2 这次只有一个解决方案-即3-由于三个人的差异最大。 挑战 给定一个整数,确定最大程度地邪恶的任何可能方式,并报告实现此目标所需的人数。 规则 输入将始终≥1 输入可以是整数,数字列表或字符串 您不必处理无效的输入 测试用例 您只需要报告所需的结果人数,可能的分区仅用于说明: …

30
挑战之三:移动平均线
注意:这是一系列阵列操作挑战中的第3条。对于上一个挑战,请单击此处。 列表的移动平均值 列表的移动平均值是通过对原始重叠的小子列表进行平均而得出的新的平滑列表。 在创建移动平均线时,我们首先使用一定的“窗口大小”生成重叠子列表的列表,每次将此窗口向右移一次。 例如,给定列表[8, 4, 6, 2, 2, 4]和窗口大小3,子列表将是: [8, 4, 6, 2, 2, 4] Sublists: ( ) <- [8, 4, 6] ( ) <- [4, 6, 2] ( ) <- [6, 2, 2] ( ) <- [2, 2, 4] 然后,我们计算每个子列表的平均平均值以获得结果:([6.0, 4.0, 3.3, 2.7]每个值四舍五入到小数点后一位)。 挑战 你的任务是写一个程序或其中,给定一个列表功能大号和整数1个≤N≤长度(L) ,计算移动平均为大号使用窗口大小Ñ。 规则: 您的程序可能使用整数除法或浮点除法。对于浮点除法,只要值是正确的,就可以允许由于数据类型的限制而产生的小误差。 …

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.