Questions tagged «sequence»

对于涉及某种顺序的挑战。

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, …

22
按数字对描述的内容排序
给定一个正整数,我们可以形成一个新的数字,该数字由成对的数字描述(对于带有奇数数字的数字,添加前导0)。 例如: 1234可以读为1 2、3 4s-因此,1234的输出为2444。 643的位数为奇数,因此添加前导零使其成为偶数。然后,将0643读取为:零6s,四个3s,因此输出为3333。 (这是OEIS A056967)。 任务:给定一个正整数数组,按升序对它们按数字对描述的值排序。导致相同值的输入数字之间的顺序无关紧要。 输入:正整数的数组/列表/集合。在输入前导零不会允许的,并输入作为数字/字符串/列表等。不允许-输入的语言应尽可能接近整数/数字类型。 输出:以上述方式排序的数组,以任何常用方式返回(函数返回值/ STDOUT /呼入void /等)。您可以单独打印它们,将它们以数字,字符串或列表形式返回数字。 测试用例 Input Output [19, 91, 2345, 2023] [19, 2023, 2345, 91] [25257, 725, 91, 5219, 146125, 14620512] [725, 5219, 14620512, 91, 146125, 25257] [123130415 3335 91 111111111 528 88] [528, 111111111, 123130415, 3335, 88, 91] [1 …

12
广义Cantor集段长度
问题 让我们定义一个广义的Cantor集,方法是从单个连续间隔开始,从所有尚未删除的间隔的中间迭代删除一些有理长度段。 给定要删除或不删除的段的相对长度,以及要执行的迭代次数,问题在于编写程序或函数,该程序或函数输出n迭代后已删除或未删除的段的相对长度。 示例:迭代删除第四个和第六个第八个 输入: n –迭代次数,从0或1开始索引 l–分段长度的列表,以正整数gcd(l)=1表示,带有奇数个长度和奇数个长度,表示从保持不变的分段开始的,保持不变或被删除的部分的相对长度。由于列表长度是奇数,因此永远不会删除第一个和最后一个段。例如,对于常规的Cantor集合,这将是[1,1,1],其中三分之一将保留,三分之一将被删除,三分之一将被删除。 输出: 整数列表o,第一次迭代gcd(o)=1中相对片段的长度,n当上一迭代中没有删除的片段被列表的缩小副本所取代l。第一次迭代是[1]。您可以使用任何明确的输出方法,甚至是一元的。 例子 n=0, l=[3,1,1,1,2] → [1] n=1, l=[3,1,1,1,2] → [3, 1, 1, 1, 2] n=2, l=[3,1,1,1,2] → [9,3,3,3,6,8,3,1,1,1,2,8,6,2,2,2,4] n=3, l=[5,2,3] → [125,50,75,100,75,30,45,200,75,30,45,60,45,18,27] n=3, l=[1,1,1] → [1,1,1,3,1,1,1,9,1,1,1,3,1,1,1] 您可以假定输入有效。这是代码高尔夫球,因此以字节为单位的最短程序将获胜。

24
获取序列步骤
挑战 给定一个数字序列,创建一个返回序列步骤的函数。 假设一个序列将是 N >= 3 序列将至少重复一次该步骤 序列将仅包含自然数 您的函数或程序应返回最短的步骤顺序 例: 输入: [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17] 输出: [1, 1, 2] 说明:初始序列来自1 => 2 (1 step), 2 => 3 (1 step), 3 => 5 (2 steps)。然后重复。输出是[1 step, 1 step, 2 steps] => [1, …

15
帮助我的儿子找到他的信
背景 基于我四岁的孩子从他的拉比那里得到的游戏。 “目标”是按给定顺序(例如)“查找”字母aecdb。会给您一堆字母卡片,例如daceb。您只能按给定的顺序搜索堆栈,尽管是循环的。遇到需要的信件时,可以将其取出。 目的 给定一个顺序和一个堆栈(彼此无重复排列),找到在玩游戏时看到的最高堆栈字母的序列(都是可打印的ASCII)。 分步示例 aecdb给定堆栈,我们需要找到订单daceb: 栈顶d:不是我们想要的(a),因此我们将其添加到序列:中d并旋转以获取栈:acebd。 堆栈顶部a:是的!因此我们将其添加到序列中:da并将其从堆栈中删除:cebd。 栈顶c:不是我们想要的(e),因此我们将其添加到序列:中dac并旋转以获取栈:ebdc。 堆栈顶部e:是的!因此我们将其添加到序列中:dace并将其从堆栈中删除:bdc。 栈顶b:不是我们想要的(c),因此我们将其添加到序列:中daceb并旋转以获取栈:dcb。 栈顶d:不是我们想要的(c),因此我们将其添加到序列:中dacebd并旋转以获取栈:cbd。 堆栈顶部c:是的!因此我们将其添加到序列中:dacebdc并将其从堆栈中删除:bd。 栈顶b:不是我们想要的(d),因此我们将其添加到序列:中dacebdcb并旋转以获取栈:db。 堆栈顶部d:是的!因此我们将其添加到序列中:dacebdcbd并将其从堆栈中删除:b。 堆栈顶部b:是的!因此我们将其添加到序列中:dacebdcbdb并将其从堆栈中删除:。 我们完成了。结果是dacebdcbdb。 参考实施 def letters(target, stack): string = '' while stack: string += stack[0] if stack[0] == target[0]: stack.pop(0) target = target[1:] else: stack.append(stack.pop(0)) return string print letters('aecdb', list('daceb')) 在线尝试! 测试用例 try,yrt→yrtyry 1234,4321→4321432434 ABCDEFGHIJKLMNOPQRSTUVWXYZ,RUAHYKCLQZXEMPBWGDIOTVJNSF→RUAHYKCLQZXEMPBWGDIOTVJNSFRUHYKCLQZXEMPWGDIOTVJNSFRUHYKLQZXEMPWGIOTVJNSFRUHYKLQZXMPWGIOTVJNSRUHYKLQZXMPWIOTVJNSRUYKLQZXMPWOTVNSRUYQZXPWOTVSRUYQZXPWTVSRUYQZXWTVSRUYZXWTVSUYZXWTVUYZXWVYZXWYZXYZ …

11
广义五十八序列
改编自这个五十八谜。 背景 检查以下无限序列: 3 3 3 2 3 3 3 2 3 3 3 2 3 3 2 3 3 3 2 ... 假设序列是1索引的。i序列中的th号确定3在ith 之前2和之后的2s 之前有多少个s。因此,由于序列以a开头,3因此序列必须开始,3 3 3 2并且由于序列的开头有3个3s,因此子序列3 3 3 2必须重复自身3次。之后,您会到达,3 3 2因为序列中的第四个数字是2。 FiveThirtyEight谜语要求限制三分之二的比率(在这里我不会破坏),但是您也可以询问index之后的累积比率i。例如在比i=4就是3/1 = 3,在i=15它的11/4 = 2.75。 让我们得到一般 给定数字n,k我们可以创建一个类似的序列,n就像描述的原始序列一样,索引处的数字i确定n在i第k一个之前和之后的第一个之后出现多少个ks。 例子: n=2, k=5 给出顺序 2 2 5 2 2 …

9
整数平方根的序列
让我们定义一个整数平方根的序列。首先,a(1)=1。然后,a(n)是之前从未见过的最小正整数,因此 sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1))))) 是一个整数。一些例子: a(2)是3,因为它是最小的整数,因此 sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)整数,并且之前的序列中未出现3。 a(3)是2,因为它是最小的整数,即sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)整数,并且之前的序列中未出现2。 a(4)是7,因为它sqrt(a(4) + 2)是整数。我们不可能有a(4)= 2,因为在我们的序列中已经出现了2个。 编写一个给定参数n的程序或函数,其返回数字序列a(1)至a(n)。 该序列以1,3,2,7,6,13,5,...开始。 该序列的来源来自此Math.SE问题。 序列中前1000个元素的图:

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 

12
这是序列图吗?
甲图形序列是各自是正整数,表示边缘的数目用于在一个节点的序列简单图。例如,序列2 1 1表示一个具有3个节点的图形,其中一个具有2个边,而两个具有一个连接。 并非所有序列都是图形序列。例如,2 1这不是图形序列,因为无法连接两个节点,以使其中一个具有两个边缘。 任务 您将通过任何合理的方法获取整数序列。这包括但不限于整数数组及其大小,无符号整数的链表和双精度向量。您可以假设输入中不会有零。您还可以假设输入从最小到最大或从最大到最小排序。 您必须输出该序列是否为图形序列。真值,否则为假值。 目标 这是代码高尔夫球,目标是最大程度地减少程序中的字节数 测试用例 从大到小排序 -> True 3 3 3 2 2 2 1 1 1 -> True 3 3 2 2 1 1 -> True 3 3 2 -> False 8 1 1 1 1 1 1 1 1 -> True 1 …

15
计算欧拉数
的欧拉数 A(n, m)是排列的数量[1, 2, ..., n]精确地在其中m元件是比以前的元件大。这些也称为上升。例如,如果,则为n = 33!= 6个排列[1, 2, 3] 1 2 3 < < 2 elements are greater than the previous 1 3 2 < > 1 ... 2 1 3 > < 1 ... 2 3 1 < > 1 ... 3 1 2 > < 1 …

16
Narayana-Zidek-Capell数
给定输入n,生成第n个Narayana-Zidek-Capell数。最低字节获胜。 f(1)= 1,f(n)是上一层(n / 2)Narayana-Zidek-Capell项的总和。 测试用例: f(1)=1 f(9)=42 f(14)=1308 f(15)=2605 f(23)=664299

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 

19
减去其素因子的平方和的范围内的最大数
公式 以数字300为例 300的素数是[2, 3, 5](作为300和素数的唯一数) 对这些数字进行平方会给你 [4, 9, 25] 汇总清单将为您提供 4 + 9 + 25 = 38 最后从原始数字中减去该总和(38)300-38 = 262(这是结果) 输入项 您的输入将是一个大于2的正整数。您必须检查从2到输入值(包括该值)的所有数字,并使用上述公式找到产生最大结果的数字。 输出量 您的输出将是两个数字,中间用空格,逗号,换行符或任何您允许的语言分隔(必须分开才能区分这两个数字)。这些可以输出到文件,stdout或任何您使用的语言。您的目标是找到在通过上述公式运行时产生最大输出的范围内的数字。显示的第一个数字应该是起始数字(例如300),第二个数字应该是公式生成的输出(例如262) 测试用例 Input: 3 Output: 2, -2 Input: 10 Output: 8, 4 Input: 50 Output: 48, 35 Input: 1000 Output: 1000, 971 Input: 9999 Output: 9984, 9802 …

11
创建ABACABA城市
这是ABACABA的第三个城市: _ A|_| B|__| A|_|_ C|___| A|_| B|__| A|_| 它是由ABACABA序列组成的,该序列基本上是: A(第一次迭代) 地方B-AB 重复A-ABA(第二次迭代) 地方C-ABAC 重复ABA-ABACABA(第3次迭代) 这样你就知道了。 建筑物的高度(对应于下划线的数量)等于将字母转换为数字,例如A = 1,B = 2等 输入项 迭代次数1 <= n <= 26。 输出量 顺序n的ABACABA城市,包括行首的字母。

5
巧克力数字
给定一个mby by nChocolate棒,将m,n输出将其分成mn1乘1 的方式数(每次中断发生在网格线上)。 顺序很重要。碎片也很明显,因此1 x 3巧克力棒两端的两个碎片是不相等的。 例如,对于2 x 2块,我们有: _ _ _ _ _ _ _ _ |_‖_| -> |‗| |_| -> |_| |‗| -> |_| |_| |_‖_| |_| |_| _ |_| _ _ |_| |_| |_| _ _ _ _ _ _ _ _ |_‖_| -> |_| |‗| …

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.