Questions tagged «string»

通过使用和操纵琴弦来解决特定问题的竞赛。

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

16
简单的降价渲染
有几种方法可以在Stack Exchange网络上的帖子上创建标题。在PPCG 上最常用的格式是1: # Level one header ## Level two header ### Level three header 注意井号后的空格。另外,请注意,不包括结尾的哈希标记。 挑战: 以(可能是多行)字符串作为输入,并以以下格式输出该字符串: 如果标头为1级,则每个字母输出4 x 4次 如果标头为2级,则每个字母3 x 3次输出 如果标头为3级,则每个字母2 x 2次输出 如果一行不是标题,则按原样输出。 为了显示: --- Level 1 --- # Hello --- Output--- HHHHeeeelllllllloooo HHHHeeeelllllllloooo HHHHeeeelllllllloooo HHHHeeeelllllllloooo --- Level 2 --- ## A B C def …

28
这些标识符是否等效?
在Nim语言中,用于区分标识符的规则比大多数其他语言稍微宽松一些。如果两个标识符遵循以下规则,则它们是等效的或寻址相同的变量: 两者的第一个字符相同 (区分大小写) 两个字符串相同(壳体在敏感)除去后的所有实例的字符-和_ 挑战 编写一个程序/函数,该程序/函数接受两个表示Nim标识符的字符串,并根据上述规则是否等效来输出真值或假值。 技术指标 适用标准I / O规则。 标准的漏洞被禁止。 字符串将仅包含ASCII可打印内容。你并不需要检查它是否是一个有效的标识符。 字符串可以作为两个单独的输入,字符串列表等(您知道练习) 空字符串无需处理。 真值和假值的输出必须一致。 挑战不是要找到所有语言中最短的方法,而是要找到每种语言中最短的方法。 除非另有说明,否则您的代码通常以UTF-8编码形式以字节计分。 允许执行此任务的内置函数,但鼓励使用不依赖内置函数的解决方案。 鼓励甚至对“实用”语言进行解释。 测试用例 Input Output count, Count falsey lookMaNoSeparator, answer falsey _test, test falsey test, tset falsey aVariableName, a_variable_name truthy numbers_are_cool123, numbersAreCool123 truthy symbolsAre_too>_>, symbols_areTOO>> truthy 未引用的参考实现 这是用Nim编写的。 import strutils, re proc sameIdentifier(a, …

6
更有效的美国州代码
缩写为美国州!虽然很有趣,但是我们了解到在当前系统中很难有效地缩写美国州名。让我们提出一种替代性的状态代码方案,以提高高尔夫效率。 你的任务: 编写一个函数(或程序),给定一个有效的美国州名(仅需要50个正常状态),并以大写形式返回唯一的两个字母的代码来标识它。该代码必须满足以下要求: 首字母必须与州的首字母相同。 第二个字母必须是状态的其他字母之一(不能为空格)。 它必须始终为相同的输入提供相同的输出,并且绝对不能为两个不同的有效输入提供相同的输出。 例如,给定“阿拉巴马州”,您的函数可以返回“ AL”,“ AA”,“ AB”或“ AM”-只要它不为阿拉斯加,阿肯色州等中的任何一个返回该值。之所以只能使用“”,是因为状态名称中多次出现“ A”。) 禁止使用标准漏洞。标准输入/输出还可以。这是代码高尔夫,所以最短的解决方案(以字节为单位)获胜。 可能的输入的完整列表在这里: Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York …
20 code-golf  string 

18
会重复吗?
如果一个字符串包含两个相等的连续子字符串,则重复该字符串。 例如,连续2034384538452重复3845两次,因为它包含两次。 因此,您面临的挑战是确定字符串是否包含重复的子字符串。您可以将输入作为字符串或字符数组。 您将永远不会收到空的输入,并且子字符串的长度(如果存在)可能为1或更大。 我使用1和0这里作为我的真实和虚假价值观,但您可以使用其他值,只要它们在您的语言中是真实和虚假的即可。 例子: abcab -> 0 bdefdefg -> 1 Hello, World! -> 1 pp.pp/pp -> 1 q -> 0 21020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021012102012101202102012021012102012021020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020120210201210120210201202101210201210120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120 -> 0 (最后一个示例是从Thue-Morse序列中每个零之间的一的数量产生的)

9
乱码!
给定一个字符串作为输入,输出该字符串的一个或多个变体,使得: 没有字符在其原始位置 没有与该字符原本相邻的字符相邻的字符 您可以假设,对于给定的字符串,这将始终是可能的,并且仅包含单写字母字符([a-z]或者[A-Z]您愿意) 请注意,相同字符的重复项不被视为唯一。 例如,给定输入programming,输出不能m在第7个或第8个字符处包含a,并且不能g在第4个或第11个字符处包含a (索引为1) 例: 拿弦 abcdef 以下是有效的输出: daecfb 但是,以下内容将无效:fdbcae在本示例中c,b它们仍然相邻。 邻接还包装,这意味着你不能做fdbeca的f和a仍在相邻。 测试用例: 请注意,这些不是给定输入的唯一有效输出 撰写为input -> output: helowi -> ioewhl mayube -> euabmy stephens -> nhseespt aabcdeffghij -> dbfhjfigaeca 得分: 这是代码高尔夫球,因此每种语言中最少的字节会获胜!

19
画一个大的ASCII X
问题 受先前挑战做类似事情的启发 给定正整数输入,n输出将遵循以下模式: 输入n=1: * * * * * 输入n=2: ** ** **** ** **** ** ** 输入n=3: *** *** *** *** ***** *** ***** *** *** *** *** 等等... 它具有以下属性: n*2+1 行高 n除了合并时,“手臂”很宽 中心线很n宽 如果n中心上方和下方的线是否n*2宽 如果n是奇数,则中心上方和下方的n*2-1线宽 规则 尾随换行符被接受 适用标准漏洞 最短字节获胜 输出可以打印出来或一个字符串或字符串数​​组 编辑 n=0 不需要处理 允许尾随空格

20
包含数字的单词
数字单词是一个单词,在其中可能删除了一些字母之后,剩下的数字只有一个:一个,两个,三个,四个,五个,六个,七个,八个或九个(不是零)。 例如,BOUNCE和ANNOUNCE是数字字,因为它们包含数字1。 即使ENCODE包含O,N和E,但它们也不是数字字,因为它们的顺序不正确。 编写一个程序/函数,该程序/函数将单个(大写或小写–您选择)的单词作为输入或参数,并确定它是否为数字单词。使代码尽可能短。 如果该单词不是数字单词,则应返回“ NO”,0或任何“假”值(这可能会因您的语言而异)。如果单词是数字单词,则应将其包含的数字输出为数字。 您可以假设单词的位数不超过一个,因此您不会有ONFIVE之类的东西。 测试用例 BOUNCE 1 ENCODE NO EIGHT 8 BLACKJACK NO FABULOUS NO EXERCISE NO DRIFTWOOD 2 SERVICEMAN 7 INSIGNIFICANCE 9 THROWDOWN 2 ZERO NO OZNERO 1 这个挑战来自BIO 2009的问题1(只是对它的微小修改)。大多数测试用例均来自评分方案。
20 code-golf  string 

30
交织反转
给定一个字符串,交错插入即可。这是针对abcdefghi和和abcdefghij0索引的方法: 将偶数索引的字符与奇数索引的字符分开:acegi bdfh acegi bdfhj 以奇数索引反转字符:acegi hfdb acegi jhfdb 再次交织成一个字符串:ahcfedgbi ajchefgdib 规则 您必须同时支持偶数长度和奇数长度的字符串。 从0索引角度来看,您必须以奇数索引而不是偶数反转字符。 当然,以1索引为单位,您必须以偶数索引而不是奇数反转字符。 输入将包含可打印的ASCII(代码点32-126),没有换行符。 您可以将输入作为字符串或字符列表(非1个字符的字符串)。例如String/ char[]或char*允许,但String[]/ char[][]或char**不允许。 测试用例 Input Output Hello, World! HdlroW ,olle! Hello World! H!llooW rlde ABCDEFGHIJKLMNOPQRSTUVWXYZ AZCXEVGTIRKPMNOLQJSHUFWDYB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ }"{$y&w(u*s,q.o0m2k4i6g8e:c<a>_@]B[DYFWHUJSLQNOPMRKTIVGXEZC\A^?`=b;d9f7h5j3l1n/p-r+t)v'x%z#|!~ P P AB AB xyz xyz 对于空字符串,返回空字符串本身。
20 code-golf  string 

30
读取密码
您的挑战是从键盘/标准输入中读取“密码”。 挑战: s看不见字符串。 对于其中的每个字符s,请打印一个字符c。 实时。 规则: 您必须c实时打印。用户输入字符后,您必须立即显示c。 c 必须为常数,即必须为相同字符。 c可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。 c不能基于s,即c必须在s读取之前定义/常量。 c 每次运行程序时都必须相同。 cs只要遵守其他所有规则,就可以是其中的字符之一。 除了之外,所有字符都不会s出现在屏幕上c(请参阅上一条规则)。 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。 您可以假设的长度s永远不会超过终端/图形窗口的宽度。 如果使用终端,则应在输入换行符或EOF后终止程序。 范例: 如果swas password01和cwas *,输出将类似于: 优胜者: 每种语言中提交时间最短的作品将获胜。
20 code-golf  string 

3
[Br]追求Code Golf [Ba] d
考虑以下字符串: Tin Snips 该字符串在元素周期表中包含几个原子符号。我们可以重写此字符串以标识其中几个: [Ti][N] [Sn][I][P][S] 当然,我们也可以这样写: T[In] [S][Ni][P][S] 重写输入的规则如下: 输入的大小写与匹配原子符号无关紧要。 如果在原子符号中使用元素,则其大小写必须更改,以便该符号正确。例如:h将变为[H]。 所有元素符号都用ASCII方括号[和括起来]。 保留空白:Big ego无法将“ g”和“ e”合并为[Ge]。 并非所有输入字符都需要组合成一个原子符号:如果没有将输入字符放入符号中,则会按原样传递(大小写无关紧要)。 如果可以制作符号,则必须制作。换句话说,Tin在上面的示例中不允许输出,因为可以在该单词中创建至少一个符号。字符只能通过未使用的唯一时间是无法用于构造原子符号。 出于此挑战的目的,从氢(1)到Oganesson(118)的所有元素都是有效的。没有更高的元素有效。 某些高级元素的名称和符号含糊不清:出于挑战的目的,应使用Wikipedia的版本。为方便起见,此处允许的原子符号为:H,He,Li,Be,B,C,N,O,F,Ne,Na,Mg,Al,Si,P,S,Cl,Ar,K,Ca, Sc,Ti,V,Cr,Mn,Fe,Co,Ni,Cu,Zn,Ga,Ge,As,Se,Br,Kr,Rb,Sr,Y,Zr,Nb,Mo,Tc,Ru,Rh, Pd,Ag,Cd,In,Sn,Sb,Te,I,Xe,Cs,Ba,La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb, Lu,Hf,Ta,W,Re,Os,Ir,Pt,Au,Hg,Tl,Pb,Bi,Po,At,Rn,Fr,Ra,Ac,Th,Pa,U,Np,Pu,Am, Cm,Bk,Cf,Es,Fm,Md,No,Lr,Rf,Db,Sg,Bh,Hs,Mt,Ds,Rg,Cn,Nh,Fl,Mc,Lv,Ts,Og。 编写一个程序或函数,以从单个提供的输入生成所有可能的输出。输入和输出都可以采用您选择的任何形式。它可以是字符串,字符数组或其他某种数据结构:无论是方便还是清楚地表示输入和输出。输入和输出都可以传入/传出代码,但是您可以选择:标准输入/出,函数参数/返回或其他。 输入应为正长度的字符串(请参见上一段),仅包含任意大小写的ASCII字符和空格(0x20)字符。 您的代码必须生成可以使用上述输入规则创建的所有输出字符串。 输出的顺序是实现定义的。唯一的要求是所有输出字符串都存在。 如果提供的有效输入字符串不包含任何原子符号,则只需输出输入字符串即可。 如果显示的输入字符串不符合上述规则(空,零字符,包含非法字符等),则您的程序可能会执行任何操作(崩溃,空白输出等) 输出是不区分大小写的,除了原子符号需要匹配元素周期表。 不允许出现标准漏洞。 测试用例: Tin Snips [Ti][N] [Sn][I][P][S] [Ti][N] [S][Ni][P][S] [Ti][N] [S][N][I][P][S] T[In] [Sn][I][P][S] T[In] [S][Ni][P][S] T[In] [S][N][I][P][S] T[I][N] ... …

1
将λ表达式转换为SK表达式
所述λ演算,或演算,是根据匿名功能的逻辑系统。例如,这是一个λ表达式: λf.(λx.xx)(λx.f(xx)) 但是,出于此挑战的目的,我们将简化表示法: 更改λ为\(以便于键入):\f.(\x.xx)(\x.f(xx)) 该.拉姆达头是不必要的,所以我们可以删除它:\f(\xxx)(\xf(xx)) 在应用程序中使用Unlambda样式的前缀表示法,`而不是将两个函数一起编写(有关如何执行此操作的完整说明,请参见在Lambda微积分表示法之间转换):\f`\x`xx\x`f`xx 这是最复杂的替换。根据变量相对于其所属的lambda标头的嵌套深度(即,使用基于0的De Bruijn索引),用括号中的数字替换每个变量。例如,在\xx(身份函数)中,x主体中的in将替换为[0],因为它属于在将表达式从变量遍历到末尾时遇到的第一个(从0开始)头。\x\y``\x`xxxy将被转换为\x\y``\x`[0][0][1][0]。现在,我们可以将变量放在标头中,离开\\``\`[0][0][1][0]。 组合逻辑基本上是由λ微积分构成的Turing Tarpit(嗯,实际上,它是第一位的,但是在这里无关紧要。) “组合逻辑可以看作是lambda演算的一种变体,其中lambda表达式(代表功能抽象)被有限的组合器集合所取代,这些组合器不存在绑定变量。1个 组合逻辑最常见的类型是SK组合器演算,它使用以下原语: K = λx.λy.x S = λx.λy.λz.xz(yz) 有时I = λx.x会添加一个组合器,但它是多余的,因为SKK(或实际上SKx对任何而言x)都等同于I。 您只需要K,S和应用程序即可编码λ微积分中的任何表达式。例如,这是从函数λf.(λx.xx)(λx.f(xx))到组合逻辑的转换: λf.(λx.xx)(λx.f(xx)) = S(K(λx.xx))(λf.λx.f(xx)) λx.f(xx) = S(Kf)(S(SKK)(SKK)) λf.λx.f(xx) = λf.S(Kf)(S(SKK)(SKK)) λf.S(Sf)(S(SKK)(SKK)) = S(λf.S(Sf))(K(S(SKK)(SKK))) λf.S(Sf) = S(KS)S λf.λx.f(xx) = S(S(KS)S)(K(S(SKK)(SKK))) λx.xx = S(SKK)(SKK) λf.(λx.xx)(λx.f(xx)) = S(K(S(SKK)(SKK)))(S(S(KS)S)(K(S(SKK)(SKK)))) 由于我们使用的是前缀表示法,因此为```S`K``S``SKK``SKK``S``S`KSS`K``SKK`。 1资料来源:维基百科 挑战 到目前为止,您可能已经猜到了什么:编写一个程序,该程序将有效的λ表达式(以上述符号表示)作为输入和输出(或返回)相同的函数,并用SK组合器演算重写。注意,有无数种方法可以重写它。您只需要输出无限方式之一。 …

19
蒸汽用户有多少声誉?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 2年前关闭。 介绍 对于不熟悉蒸汽的人-或至少不熟悉此特定方面的人: 人们经常在人们的个人资料上留下评论,说“ + rep _____”或“ -rep _____”。这些是一种非官方的方法,可以出于多种原因显示您认为社区中某人的声誉良好或不良。这样的注释看起来像: +代表一个好球员 + rep有帮助 -rep黑客 -rep骗子 任务 该程序必须通过任何协商一致的方式获取输入。输入由带有可选换行符(\n)的字符串组成。在每行的开始处,'+rep '或者'-rep '可能存在。该行的其余部分可以丢弃。如果该行不是以'+rep '或开头'-rep '(请注意尾随空格),则应忽略该行。 然后,该程序必须保持总信誉得分。0从此开始,此分数应在以开头的每一行上递增,'+rep '并在以开头的每一行上递减'-rep '。 该结果应以任何商定的方式输出。 测试用例 Input: +rep fast trade +rep nice person -rep too good Output: 1 Input: -rep hacker -rep scammer -rep was mean Output: -3 Input: …

13
拉链乘法
介绍 让我们定义一个新的算术运算,我称之为拉链乘法。要用拉链将两个非负整数相乘,请添加前导零以使长度匹配,将数字的相应前十个数字相乘,在结果中添加前导零以得到2位数字,将它们连接起来,最后删除前导零。 这是A = 1276和B = 933024的示例: 1. Add leading zeros A = 001276 B = 933024 2. Multiply digit-wise A = 0 0 1 2 7 6 B = 9 9 3 0 2 4 -> 0 0 3 0 14 24 3. Pad to 2 digits -> 00 …

25
空格编号
给定一个N非负整数列表,输出这些数字,每个数字用空格左填充,长度为N。(或者,返回一个字符/字符串列表。)您可以假定该N数字大于或等于列表中最大数字的位数。输出中允许尾随空格。 您也可以使用包含这些数字N的字符串,但不是字符串的长度,而是列表中元素的数量。同样,您可以获取字符串列表,例如["1", "2", "3"]。 这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 测试用例 input => 'output' 0 => '0' 1 => '1' 2 3 => ' 2 3' 2 10 => ' 210' 4 5 6 => ' 4 5 6' 17 19 20 => ' 17 19 20' 7 8 9 10 => ' 7 8 …
20 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.