Questions tagged «string»

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

5
代码Golfinator-3000
正如大家都知道,加入inator-3000任何名词结束使得它的方式更冷。但是还有什么可以使单词更酷呢? 给定一个ASCII字符串作为输入,输出该单词的简洁性。 计算凉爽度 有4个元素可以计算单词的清爽度。 这个词本身。基本分数是大写字母的数量乘以1000 结束号码。单词末尾的数字(例如burninator- 3000)被添加到基本分数中,但是如果该数字超过4个数字,则表示它们过于贪婪,因此应忽略该数字。 连接器。结束编号前的空格加1000,而连字符加2000,则任何其他符号或完全没有符号无效。 后缀。如果单词以结尾ator,则将最终分数加倍。如果结尾为inator,则将分数提高三倍。这些不区分大小写。 因此例如Burninator-3000可以计算如下: 1 Capital letter - Base Score: 1000 (1000(base) + 3000(number) + 2000(hyphen)) * 3(suffix) = 18000 测试用例 Burninator-3000 -> 18000 Burnator3000 -> 8000 BurNinator 100 -> 9300 BuRnInAtOr-7253 -> 42759 burn -> 0 burn- -> 0 bUrn-1 -> 3001 inator-7 …
22 code-golf  string 

18
折成三角形
给定一个长度可被4整除的字符串,请制作一个三角形,如下所示。 如果字符串是abcdefghijkl,则三角形将是: a b l c k defghij 如果字符串是iamastringwithalengthdivisiblebyfour,则三角形将是: i a r m u a o s f t y r b i e n l gwithalengthdivisib 如果字符串是thisrepresentationisnotatriangle,则三角形将是: t h e i l s g r n e a p i r r esentationisnotat 笔记 该字符串仅包含从a到的字符z。 只要形状未损坏,就允许使用前导/尾随空格和换行符。 允许使用字符串列表作为输出。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

19
计算一个单词的二进制拆分和
取一个s包含可打印ASCII字符的字符串作为输入,并输出其“二进制分割和”。需要解释吗? 如何获得二进制分割和? A4在下面的说明中,我们将以字符串为例。 将字符转换为二进制,将每个字母视为7位ASCII字符 A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100 将二进制数连接成新的二进制数 A4 -> 1000001 & 0110100 -> 10000010110100 将新的二进制数字拆分为多个块,在其左边1不能有a 0。您不应拆分连续1的。 10000010110100 -> 100000, 10, 110, 100 将这些二进制数字转换为十进制 100000, 10, 110, 100 -> 32, 2, 6, 4 取这些数字的总和: 32 + 2 + 6 + 4 …

30
动态创建盒子
挑战: 绘制一个矩形的ASCII框:[] 规则: 接受宽度和高度输入 您可以假设它们都是数字 必须产生一个包含换行符\ n的字符串 例子: 2:2 [][] [][] 2:3 [][] [][] [][] 最小字节数获胜。

10
盲文化字符串
不,这不是将ASCII文本转换为盲文的伪装。 Unicode中有2 8 = 256个盲文模式。(“盲文”是指8单元电池) W,等等。那里有多少个ASCII字符? 2 7 = 128? 那么,让我们将ASCII转换成盲文,因为绝对没有理由不这样做! 从ASCII到盲文的方式 我们可以看到每个单元格代表一个位,每个单元格是否被“打孔”。 现在,我们可以分配每个单元以将ASCII字符的位表示为二进制。 (1 )(16 ) (2 )(32 ) (4 )(64 ) (8 )( - ) * ( - )为空白 现在我们可以将ASCII转换为盲文了。例如,A(65 = 01000001)等于⠡。 例子 Input -> Output Braille! -> ⠢⠺⠱⡱⡴⡴⠵⠑ (Upscaled) .. .o o. o. .. .. o. o. …

30
第n个字符等于最后一个字符的第n个字符吗?
受启发于起点是否等于终点 给定一个字符串s和一个整数n,输出有关nth中的char 是否s等于nin中结尾char中的th 的真/假s。 输入项 非空字符串和整数。您可以使用基于0的索引或基于1的索引。整数基于字符串保证有效。例如,如果字符串是“ supercalifragalistic123”,则对于基于1的索引,整数可以为1到23,对于基于0的索引可以为0到22。请注意,n长度可以大于的一半s。 输入仅限于可打印的ASCII。 输出量 真假值,取决于中的nth值是否s等于中的n最后一个值s。 请注意,对于从0开始的索引,最后一个字符在位置0;对于从1开始的索引,最后一个字符在位置1。可以将其视为将字符串与其相反的字符串进行比较。 测试用例 0索引 "1", 0 Truthy 1 == 1 "abc", 1 Truthy b == b "aaaaaaa", 3 Truthy a == a "[][]", 1 Falsey ] != [ "[][]", 0 Falsey [ != ] "ppqqpq", 2 Truthy q == q "ababab", …
22 code-golf  string 

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

2
生成ASCII Padovan螺旋
这是此挑战的ASCII版本。最初的职位由Martin Ender根据请求分开 介绍 类似于斐波那契数列,Padovan 数列(OEIS A000931)是一个数字序列,是通过在序列中添加前项产生的。初始值定义为: P(0) = P(1) = P(2) = 1 第0,第1和第2项均为1。递归关系如下所示: P(n) = P(n - 2) + P(n - 3) 因此,它产生以下序列: 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ... 将这些数字放在一起时,将它们用作等边三角形的边长会产生一个不错的螺旋,就像斐波那契螺旋: 图片由维基百科提供 …

9
<(“ <)鸟舞者(>”)>
您的鸟一直在瘙痒一些运动,并且讨厌一直被困在静止的位置。编写一个程序,该程序将显示一个随机跳舞的ascii鸟,并根据跳舞动作每100ms * n或200ms * n更新一次。鸟总是从舞步开始&lt;(")&gt;。 程序应接受一个输入,该输入是一个将睡眠间隔乘以(n &gt;= 0 &amp;&amp; n &lt;= 50)的数字。 100ms动作 ^(")v v(")^ ^(")^ v(")v 200ms动作 (&gt;")&gt; &lt;(")&gt; &lt;("&lt;) 额外细节 随机性不一定要统一,但是每个舞步都应该有合理的发生机会(每60个舞步中至少有1个看起来很公平,如果同一舞步连续出现两次也可以) 一次只能显示一只鸟,而不是多只鸟 允许尾随空格(但不允许其他尾随字符) 鸟应显示之前的睡眠 Python 3中的示例 import random, time, sys birds = """(&gt;")&gt; &lt;(")&gt; &lt;("&lt;) ^(")v v(")^ ^(")^ v(")v""" birds = birds.split() interval = int(input("Sleep for 100ms*")) selection …

6
魔镜疯狂
介绍 我的房间里装满了魔镜。它们是神秘的文物,可以复制任何物品,但另一个魔镜除外。更明确地说,该项目的重复版本将以相同的距离出现在镜子的另一侧。但是,如果在复制镜和任一物品(原始或复制品)之间的任一侧都有另一个魔术镜,则不会形成复制品。原始项目可以在镜子的左侧或右侧,并且重复项将出现在另一侧。而且,重复项本身可以被另一个镜像复制。项目永远不会阻止其他项目的重复(除非直接位于要复制的位置上)。 输入项 您的输入是一个由字符组成的字符串.#|,它们代表空白,物品和魔镜。输入中将始终至少有一个魔术镜。 输出量 根据上述规则,您的输出将是另一个字符串,其中每个魔术镜都复制了它可以复制的所有物品。您可以假设出现重复项的位置始终有一个空白空间(因此它们不会超出范围)。 例子 考虑输入字符串 .#.|.....|......# A B C D 为了清楚起见,我们在其中标记了一些位置。镜像B重复项item A,其最终在其右边: .#.|.#...|......# A B C D 镜像C然后复制新项目: .#.|.#...|...#..# A B C D 镜像C无法复制项目A,因为镜像B一直在进行中。它也不能复制项目D,因为镜像B在另一侧。同样,mirror B不能复制项D或旁边的重复项,因为mirror C妨碍了,所以这是正确的输出。 再举一个例子,考虑输入 .##..#...|#..##...|..##....#. AB C DE FG H IJ K 镜子D可以复制A和B右侧,并且E和G左侧。 C并且F已经是彼此的副本。字符串变成 .##.##..#|#..##.##|..##....#. AB C DE FG H IJ K Mirror H可以复制E,,F以及和的重复项,A以及B在右边和I左边的重复项。 …
22 code-golf  string 

15
运算符ASCII艺术
挑战 从下面的列表中给定一个ASCII运算符,并给它一个数字n,使用该运算符作为字符,画出该运算符的ASCII表示形式,该运算符的线段长度为n。 输入项 列表中的ASCII字符= + - x /和n其中的整数n &gt;= 1。(我使用x代替*和/代替÷,但您可以使用其中任何一个,以较容易的一个为准)。对于+和x,您只需要处理奇数即可避免对齐问题。 输出量 由长度为n的字符组成的运算符的ASCII绘图。水平部分的字符之间应有空格,以抵消垂直/水平距离的差异。 规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。禁止出现标准漏洞。 例子 输入: + 3 + + + + + 输入: = 4 = = = = = = = = 输入: = 10 = = = = = = = = = = = = = …

30
逐行导出$ PATH变量
受到AskUbuntu上这个问题的启发。 您的工作非常简单。获取PATH环境变量(echo $PATH)并将其导出,以使每个条目(由:字符分隔)都位于其自己的行上。 例如,如果PATH为/bin:/usr/bin:/usr/local/bin,则程序应输出: /bin /usr/bin /usr/local/bin 您的程序可能不会返回前导换行符,但可能会返回单个尾随换行符。您无需检查PATH是否正确或目录是否存在。您的程序不应输入任何内容,这意味着您的程序负责获取PATH本身。您可以放心地假设PATH中的对象不包含:或换行符。但是,空间是公平的游戏。 在上述问题的答案中提供了参考实现。 规则 (显然)这是代码高尔夫球,因此最短的答案将赢得宝贵的绿色对勾。 接受的答案将经过测试以确保它是合法的。 Windows和* nix条目均被接受。 但是,如果您未明确指定Windows,我将尝试在Linux中运行它并失败。(如果很明显(嗨,Batch!),则无需显式指定。) 每个答案只有一个解决方案。如果您同时拥有Windows和* nix版本,我将计算较短的版本。 如果两个答案的长度相同,我将优先考虑总票数较高的一个。如果他们的投票总数相同,我将计算较大的一票。如果发布的时间相同,我将选择执行速度更快的时间。如果它们执行的时间相同,我不知道。 排行榜 显示代码段 var QUESTION_ID=96334,OVERRIDE_USER=15422;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&amp;&amp;answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&amp;&amp;(r="&lt;h1&gt;"+e.body.replace(OVERRIDE_REG,"")+"&lt;/h1&gt;")});var a=r.match(SCORE_REG);a&amp;&amp;e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&amp;&amp;(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/&lt;a/.test(o)&amp;&amp;(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&amp;&amp;t.push(s[o]);t.sort(function(e,s){return e.lang&gt;s.lang?1:e.lang&lt;s.lang?-1:0});for(var c=0;c&lt;t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/&lt;h\d&gt;\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d&lt;&gt;]*(?:&lt;(?:s&gt;[^\n&lt;&gt;]*&lt;\/s&gt;|[^\n&lt;&gt;]+&gt;)[^\n\d&lt;&gt;]*)*&lt;\/h\d&gt;)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} …
22 code-golf  string 

10
将字母滚动成螺旋形
编写一个程序或函数,如果给出n,将打印一个螺旋n字符,该螺旋字符由拉丁字母组成,并ABCDEFGHIJKLMNOPQRSTUVWXYZ根据需要重复。此螺旋应仅向前穿过字母。 与字母螺旋有关,尽管螺旋向前和向后贯穿字母,并且螺旋是恒定的。 测试用例 4 AB DC 40 UVWXYZ TGHIJA NSFABKB MREDCLC LQPONMD KJIHGFE 0 10 GHIJ FAB EDC 1000 UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ TGHIJKLMNOPQRSTUVWXYZABCDEFGHIJA SFABCDEFGHIJKLMNOPQRSTUVWXYZABKB REZCDEFGHIJKLMNOPQRSTUVWXYZABCLC QDYBMNOPQRSTUVWXYZABCDEFGHIJCDMD PCXALEFGHIJKLMNOPQRSTUVWXYZKDENE OBWZKDEFGHIJKLMNOPQRSTUVWXALEFOF NAVYJCDMNOPQRSTUVWXYZABCDYBMFGPG MZUXIBCLCDEFGHIJKLMNOPQREZCNGHQH LYTWHABKBABCDEFGHIJKLMNSFADOHIRI KXSVGZAJAZGHIJKLMNOPQROTGBEPIJSJ JWRUFYZIZYFUVWXYZABCDSPUHCFQJKTK IVQTEXYHYXETQRSTUVWXETQVIDGRKLUL HUPSDWXGXWDSPUVWXYZYFURWJEHSLMVM GTORCVWFWVCROTGHIJAZGVSXKFITMNWN FSNQBUVEVUBQNSFABKBAHWTYLGJUNOXO ERMPATUDUTAPMREDCLCBIXUZMHKVOPYP DQLOZSTCTSZOLQPONMDCJYVANILWPQZQ CPKNYRSBSRYNKJIHGFEDKZWBOJMXQRAR BOJMXQRARQXMLKJIHGFELAXCPKNYRSBS ANILWPQZQPWVUTSRQPONMBYDQLOZSTCT ZMHKVOPYPONMLKJIHGFEDCZERMPATUDU YLGJUNOXONMLKJIHGFEDCBAFSNQBUVEV XKFITMNWVUTSRQPONMLKJIHGTORCVWFW WJEHSLMLKJIHGFEDCBAZYXWVUPSDWXGX VIDGRKJIHGFEDCBAZYXWVUTSRQTEXYHY UHCFQPONMLKJIHGFEDCBAZYXWVUFYZIZ TGBEDCBAZYXWVUTSRQPONMLKJIHGZAJA SFAZYXWVUTSRQPONMLKJIHGFEDCBABKB REDCBAZYXWVUTSRQPONMLKJIHGFEDCLC QPONMLKJIHGFEDCBAZYXWVUTSRQPONMD …
22 code-golf  string 

19
帮助:外星人程序员只能说ASCII
设置场景: 这是一个平均的下午,在忙碌了一天之后,您会通过参加自己喜欢的消遣来放松:回答有关PPCG的许多令人着迷的问题。今天对您而言不是好日子;那些该死的Pyth程序员不断获得最佳答案,这正在杀死您的氛围。突然,您发现一个新问题已发布!你下定决心;这次不是CJammers。奇怪的是,您开始打字,产生了一系列字符。最终产品将成为辉煌的BrainFuck循环的胎儿。您键入并键入。快点!还快!您太专心了,甚至没有注意到屏幕上的灯光开始闪烁。突然,显示器发出绿色光,桌面上印有外星人般的符号。使用无可挑剔的技能,您cat ~/Desktop/aliensymbol并得到一堆数字,一条消息!作为您精明的PPCG程序员,您会注意到它看起来像ASCII。无论您是什么,您都可以print(chr(i) for i in file)解密消息。您首先想到的是:“我需要与社区分享!”。 ... 谁会想到的?最早接触外星人的人将是PPCG谦虚的程序员。为什么是我们?也许是因为我们是人类智慧的缩影。也许是因为BrainFuck与我们使用外语差不多。尽管如此,外星人-他们是超智能的生活形式-想要测试他们是否应该将人类归类为聪明人。为了检验我们的智力,外星人要求我们向他们发送一些计算机程序,以证明我们在技术上得到了培养。问题是,他们唯一能理解的人类语言是数字ASCII! 帮助人类向那些生物展示真正的智力阿尔法。我们需要向他们发送一个脚本,该脚本会将基于文本的源代码转换为数字ASCII版本。不幸的是,由于我们的技术不发达(感谢奥巴马),我们必须发送尽可能小的翻译程序。他们选择联系PPCG的好事! 挑战: 挑战的前提很简单:您将编写一个程序,该程序将使用任何程序的源代码(或与此相关的任何常规文本文件),并在每行下方输出带有ASCII转换的空格分隔版本。也就是说,给定一个文本文件的输入,您需要输出该文件的每一行,然后输出一行,该行包含其上方一行中每个字符的ASCII表示(每个数字与其所表示的字符对齐)。 一个例子将大大阐明这一点。以臭名昭著的源代码hello world作为输入: #include &lt;stdio.h&gt; int main() { printf("hello, world\n"); return 0; } 您的程序应输出: # i n c l u d e &lt; s t d i o . h &gt; 35 105 110 99 108 117 100 101 …

26
紧密的词
介绍 根据Rand Al'Thor在《 Puzzling SE》中的帖子,紧密结合的单词是包含三个字母连续字母(任意顺序)的任何单词。 像教育,雾角和歌舞表演之类的词都被认为是紧密结合的词,而学习,克拉克森和表演等词则不是紧密结合的词。 挑战 面临的挑战是对一个程序进行代码处理,使其能够将单个单词作为输入(假设所有目的和目的都为小写),并返回列出所有连续字母集(如果有的话)的输出(如果有的话)。是紧密词,如果不是紧密词,则输出为空。 例子 Input: education Output: cde Input: foghorn Output: fgh Input: cabaret Output: abc Input: hijacking Output: ghi, hij, ijk Input: pneumonia Output: mno, nop Input: klaxon Output: &lt;&lt;no output&gt;&gt; Input: perform Output: &lt;&lt;no output&gt;&gt; Input: learning Output: &lt;&lt;no output&gt;&gt; 规则 尽管将输入假定为单个小写单词,而将输出假定为小写,但是输出的性质将根据您选择的编码语言而有所不同。请选择最适合挑战性质的输出形式,无论是STDOUT,文件输出,数组等。 因为这是代码高尔夫,所以肯定会有最少的字节数。 …
22 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.