Questions tagged «ascii-art»

这项挑战涉及使用文本字符作为绘画来创建或解析图片。通常,它仅使用1963年ASCII标准定义的95个可打印字符(总共128个)。

5
墙上的91瓶ASCII啤酒
给定一个整数x,其中0 <= x <= 91输出一堆啤酒瓶,其中缺少许多瓶(和架子)。为简单起见,我将仅显示前6个瓶子,以及每个第一个输入的瓶子。 这是一堆瓶子,每个数字都是您应该为该输入(1索引)移除的瓶子: https://pastebin.com/wSpZRMV6 请注意,我们使用91而不是99,因为99会导致不稳定的瓶子堆叠。 例 缺少0瓶(x=0): |=| | | | | / \ . . |-----| | | |-----| |_____| ============= |=| |=| | | | | | | | | / \ / \ . . . . |-----| |-----| | | | | |-----| …

11
埃塞俄比亚乘法
这个问题的灵感来自这个答案。碰巧的是,我小时候曾经使用埃塞俄比亚乘法,但直到最近才知道该方法的名称。 埃塞俄比亚乘法是仅使用加法,加倍和减半对整数进行乘法的方法。 方法: 取两个数字相乘,然后将其写下两列的顶部。 在左列中,将最后一个数字重复减半,舍弃所有余数,然后将结果写在同一列中的最后一个下面,直到写入值1。 在右侧栏中,重复将最后一个数字加倍,然后将结果写在下面。将结果添加到与左列显示1相同的行时停止。 检查生成的表,并丢弃左列中的值是偶数的任何行。将右侧列中的值相加,得出将原始两个数字相乘得到的结果。 例如:17 x 34 17 34 将第一列减半: 17 34 8 4 2 1 将第二列加倍: 17 34 8 68 4 136 2 272 1 544 删除第一个单元格为偶数的行,我们将这些数字放在方括号中的右边,以实现此目的: 17 34 8 [68] 4 [136] 2 [272] 1 544 将右侧栏中的剩余数字相加: 17 34 8 [68] 4 [136] 2 [272] …

23
简单复杂
输出量 ########## ### ## #### ########### #### ## ###### ####### ######### ##### ##### ##### ######## ####### ########## #### ################ ### ##### ######## ########### ### ## ######## ####### #### ###### ############# ####### ###### #### ####### ##### ## ########### #### ####### ####### #### ########### ## ###### ####### #### ###### ####### ############# ###### …

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
N皇后拼图
(尽管有超过60个问题标记为下棋,但我们没有简单的n皇后挑战。) 在国际象棋中,N-皇后之谜的描述如下:给定n x n棋盘和n皇后,将皇后排列在棋盘上,以使没有两个皇后相互威胁。以下是n = 8从Wikipedia借来的的示例解决方案。 或者,在ASCII渲染中: xxxQxxxx xxxxxxQx xxQxxxxx xxxxxxxQ xQxxxxxx xxxxQxxx Qxxxxxxx xxxxxQxx 这里的挑战将是输入n和输出n-Queens难题解决方案的ASCII表示形式。由于存在多个可能的解决方案(例如,至少是旋转或反射),因此您的代码仅需要输出任何有效的解决方案。 输入项 n具有n >= 4 任何方便格式的单个正整数。(n = 2和n = 3没有解,并且n = 1很小,因此将其排除在外) 输出量 如上所述,解决了N-queens难题的结果的ASCII表示形式。您可以选择任何两个不同的ASCII值来表示空格和皇后。同样,可以以任何合适的格式(单个字符串,字符串列表,字符数组等)输出。 规则 前导或尾随的换行符或空格以及字符之间的空格都是可选的,只要字符本身正确对齐即可。 您既可以使用算法来计算可能的位置,也可以使用显式的“阶梯式”解决方案样式,以哪种方式更适合您的代码。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 n=4 xQxx xxxQ Qxxx xxQx n=7 xxQxxxx xxxxxxQ xQxxxxx xxxQxxx xxxxxQx Qxxxxxx xxxxQxx …

4
不可能的立方体
问题 给定一个输入a,其中a为真值/伪造值,如果为true,则输出下面的确切不可能立方体,如果为falsey则输出下面的确切普通立方体。 输入truthy: ___________________________________ / _______________________________ /| / / _____________________________/ / | / / /| | / / | / / / | | / / | / / /| | | / / /| | / / / | | | / / / | | / / / …

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

12
这只是一个输入错误
继续我的那只是一个错误挑战: 输入: 一个字符串,由可打印的ASCII字符组成,没有空格和换行符。 输出: 首先,通过还原输入并将其添加到自身之前,将输入转换为回文,不包括中间字符(即使用输入1234567890,它将变为0987654321234567890))。 然后输出此文本: 0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 …

14
您是奥运会的东道主!
您主办奥林匹克运动会,并且需要为此建立一个梦幻般的游泳池,但是主管们经常改变尺寸的主意,并需要一种快速的方法来按要求的尺寸进行重建! 给定两个整数L和x,您的任务是建立一个长度L和x车道的游泳池。 游泳池如何建造? 它包含一个内部正方形,该内部正方形的水平壁由L连续的破折号(-)组成,而垂直壁由3x - 1条形(|)组成。此外,+每个角落都有4个标志。让我们举一个例子(L = 10, x = 2): + ---------- + | | | | | | | | | | + ---------- + 每个通道的宽度为2个垂直单位。内部正方形x-1由车道分隔符填充,该分隔符由L水平连续的:符号组成。放置通道分隔符后,我们的池应如下所示: + ---------- + | | | | | :::::::::: || | | | | + ---------- + 池还包含一个填充(一个外部正方形),其填充水平(L + 4)-秒,垂直填充壁(3x +1)|秒,围绕内部正方形: + …

15
扩展真理机
许多人知道编程中的真机。但是现在是时候让我们努力了。介绍,扩展的真机!扩展的真理机器将两件事作为输入,一个整数n和一个非空字符串s。输出s n带有可选尾随空格的时间。但是,如果n等于0,则必须输出,s直到手动停止程序为止,即永远不要终止它。 另外,如果n为负数,则字符串需要颠倒。例如,使用s=helloand n=-1,输出将为olleh。 输入的标准方法,任何种类的输出,只要可以处理无限。如果您的答案不能处理无限大,请在有趣的情况下或以无法处理无限大输出的语言随意发布。 测试用例 n, s, output 5, "hello world", "hello worldhello worldhello worldhello worldhello world" 0, "PPCG", "PPCGPPCGPPCGPPCG..." -2, "truThY", "YhTurtYhTurt" 2000, "o", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" 这是代码高尔夫球,所以最短的代码获胜! 这是原始的沙盒帖子。已对其进行了编辑。感谢@ComradeSparklePony创建了这个挑战的想法

13
放置滑翔机!
这个: 是滑翔机。 在Conway的《生命游戏》中,滑翔机是一种著名的图案,可以快速遍历整个滑板。对于今天的挑战,我们将绘制一个ASCII艺术的生命游戏板,并在其上放置一个滑翔机。 我们开始的董事会是这样的: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 此木板完全由管道|和下划线组成_,为10x10。您必须编写一个包含两个整数“ x”和“ y”的程序或函数,并在这些坐标处使用滑翔机输出同一块板。例如,如果在位置(1, 1)(索引为0)有一个滑翔机,则必须输出以下内容: |_|_|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |_|_|_|*|_|_|_|_|_|_| |_|*|*|*|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 您可以假设滑翔机将永远不会超出范围,因此x和y都将始终在该[0-7]范围内。您也可以选择采用1索引的坐标,但是必须在答案中指定。在这种情况下,输入将始终在[1-8]范围内。以下是一些示例(所有索引均为0): 0, 0: |_|*|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |*|*|*|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 7, 7: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| …

1
修剪矩形草坪
草坪被定义为一个矩形区域,其中一个字符被两层可见空白包围。这意味着上方有两行,下方有两行,并且左侧有两个空格填充(右侧具有可见的空格,因此您无需将其包括在内)。 ||||| ||||| ||||| 修剪过的草坪具有类似的结构,除了主要角色是第一个角色的简化版本。 ..... ..... ..... 割草机是两个不同的角色,与两个草坪角色不同。这是一个例子,=作为割草机的后面和o前面: =o 割草机将在草坪上垂直移动,也可以在草坪的前面旋转。在动画中的某些时候,上面的割草机可能看起来像下面的任何割草机: =o o= o = = o 割草机可以在下面的草坪上的以下任何位置上启动。割草机o将顺时针绕草坪行驶。割草机0将逆时针绕草坪行驶。 = = 0 o =o|||||0= ||||| =0|||||o= o 0 = = 动画从第二个0开始。割草机每秒钟向前移动一个空间,并在其前面割草。当割草机腾出一个点时,它似乎被割断了。当割草机的前部到达生产线上的最后一个未切割的物品时(仍然有未割的草),割草机的后部旋转一次,以继续当前的割草(基于原始位置顺时针/逆时针停留)当割草机完成后,它继续笔直(修剪已经割好的草),直到完全离开草坪。 从左上角开始有割草机,这显示了5x3草坪的基本过程: Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second …

6
给我披萨
因为是星期六(UTC)并且我很饿,所以我想吃一片披萨。我会给您点菜,我想要一个美味的热ascii艺术披萨。迎接挑战? 直通车 无论您的驱动力是什么,无论是STDIN,函数参数,命令行参数,我都将下订单,但是我不会为您放置变量。(JS函数表达式必须分配给变量。) 命令 我的订单分为两部分。第一个将是从3到的正非零整数6。这是我的比萨饼的大小。例如,6没有浇头的比萨饼看起来像: /=====\ / \ | | | | \ / \=====/ 尺寸5: /====\ / \ | | \ / \====/ 尺寸4: /===\ | | | | \===/ 尺寸 3 /==\ | | \==/ 浇头 我的浇头是一串大写字母。以下是可能的值: P-意大利辣香肠 S-香肠 N-piNeapple J-墨西哥胡椒 B-香蕉辣椒 C-培根 您必须将它们放在披萨的某个地方。如果我订购大小为4和PSPCJ,则这是有效的输出: /===\ |PSPCJ| | | …

13
算术表的整数位
挑战: 根据输入,输出以下六个算术表之一的“整数”: -加法(+); -减法(-); -乘法(*); -除(/); -取幂(^); -模运算(%)。 规则: 我该怎么界定为“整数位”:算术操作数正好是以下情况之一的每一个结果:0,1,2,3,4,5,6,7,8,9。这意味着您将排除每个等于10或更高的结果,每个等于-1或更低的结果以及每个非整数的结果。 我们如何计算算术结果:首先使用高位数字,然后使用左数位的操作数。你被允许这样做,反之亦然(即y/x代替x/y),只要你对输出的所有六个一致!(因此,不允许您使用y-x且x/y答案相同。)† 对于除以0的测试用例,我们将不会输出任何内容(用于除法和模运算表) 我们不会为edge-case输出任何内容0^0。 输出: 因此,输出以下内容(表格式有些灵活(请参见下文):因此,这些行是可选的,主要是为了提高测试用例的可读性而添加的): 加成: + | 0 1 2 3 4 5 6 7 8 9 ----------------------- 0 | 0 1 2 3 4 5 6 7 8 9 1 | 1 2 3 4 5 6 7 …

10
更改,循环和显示标志的填充最少
输入: 两个整数:一个负数,一个正数。 输出: 在第一行上,输出从最低到最高。在第二行中,我们删除了最高和最低数字,并对所有单个数字进行了符号更改。在第三行中,我们再次删除了最高和最低数字,并再次对所有单个数字进行了符号更改。等等。(下面的示例应该使挑战更加清楚。) 重要提示:此外,我们添加空格以使一列中的数字全部对齐(在右侧)。 最小对齐是此挑战的主要部分,这意味着您不能仅使每个数字都具有相同的宽度。列的宽度基于该特定列的最大数字宽度(并且带符号更改的顺序是使数字每列的宽度有所不同)。 例如: Input: -3,6 Output: -3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest 2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed -1, 0, 1, 2, 3, 4 // 2 and -5 removed; then all signs changed again …

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.