Questions tagged «printable-ascii»

该解决方案只能包含95个可打印的ASCII字符(〜的空格)。根据挑战,也可以使用制表符和换行符。

5
一线水族馆
我的岳父母在院子里有一个装满锦鲤的鱼塘。直到我注意到代码中的以下摘录,它才真正引起我的注意。 ',') & '_' ...我的鱼脸从屏幕上回望我... 这给了我一个好主意... 我想要的,我的亲爱的高尔夫球手,是创建一个单行ASCII水族馆,并遵循以下规则: 从水箱一侧到水箱另一侧的水族馆的大小应不小于60个字符且不大于80个字符。储罐的侧面需要使用管道/条(|)字符指示。 鱼必须能够在水箱两侧之间从左向右“游动”。随着它们的转动,从一个方向到另一个方向的过渡需要正视图。 鱼必须如下所示: }}< }} ',') 鱼游正确 (',' {{ >{{ 鱼向左​​游 }}('_'){{ 鱼面朝前 当鱼转向时(机会发生30%),它必须从一个方向开始,面向前方,然后面向另一方向...确保鱼有足够的转向空间,即在转向之前需要六个空间。坦克的边缘最小... 除非鱼在吹泡泡或改变方向,否则它将继续朝其面对的方向前进,如果它进入水箱侧面的六个空间之内,它将改变方向。 鱼(向左或向右)有时可能会(10%的机会)停下来连续吹泡泡(.oO*),因此要求鱼旁边有一个可用空间以使气泡存在,因此,鱼可以只在两侧游泳,节省一个空间。气泡必须消失,鱼才能继续前进。 鱼的行为的一系列示例行,用-字符表示空格,因为此处的代码显示功能有些严格...我希望当您对此进行编码时,这些破折号会被空格代替... 此处的每一行都可以视为延时中的一帧。 |-}}< }} ',')----------| |--}}< }} ',')---------| |---}}< }} ',')--------| |----}}< }} ',')-------| |-----}}< }} ',')------| |-----}}< }} ',').-----| |-----}}< }} ',')o-----| |-----}}< }} ',')O-----| |-----}}< …

12
向计算机科学的先驱们问好
选择您最喜欢的著名计算机科学家或计算机科学先驱,他们出生于1942年或更早(1943年标志着“第一台”计算机的诞生)。他们应该有一个Wikipedia页面或其他网站,其中列出了他们的出生年份,并说明他们的成就与计算机科学的关系。您可以选择与其他人相同的东西,但鼓励选择新的人。 取一个他们众所周知的名字。这很可能是他们的名字和姓氏,但如果更常见,则可能包含缩写或中间名。例如,对于托尼·霍尔都Tony Hoare和C. A. R. Hoare是可以接受的。 名称中的所有字符必须是可打印的ASCII。如果名称包含无法打印的ASCII字符,则选择近似值即可。例如Kurt Godel代替Kurt Gödel。 以名称中的唯一字符集(例如C. ARHoare)为例,并在科学家的出生年份之前将其向上移动到可打印的ASCII刻度,从一个~到另一个循环。(基本上以95为模添加出生年份。)这将为您(最可能)提供一组新的可打印ASCII字符。 例如,CAR Hoare于1934年出生,因此将每个字符都C. ARHoare移入1934年(34个mod 95)字符可得出ePBctj2$5(。 该堆栈片段将为您完成所有转移: function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i < name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) …

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

28
按元素的字符串乘法
灵感来自这个挑战(感谢@cairdcoinheringaahing为标题!),你的任务就是用下面的规则来取两个打印的ASCII字符串,并乘其逐元素。 它是如何工作的? 给定两个字符串(例如split和isbn),您将首先截断较长的字符串,使它们具有相等的长度,然后确定其ASCII码: split -> spli -> [115, 112, 108, 105] isbn -> isbn -> [105, 115, 98, 110] 下一步将是[0..94]通过减去32每个代码将它们映射到范围: [115, 112, 108, 105] -> [83, 80, 76, 73] [105, 115, 98, 110] -> [73, 83, 66, 78] 现在,您将它们乘以逐元素的模95(以保持在可打印范围内): [83, 80, 76, 73] ⊗ [73, 83, 66, 78] -> [74, …

18
最短排序的Hello World
编写一个无需输入即可打印Hello, World!到stdout或您的语言最接近的替代程序的程序。值得注意的是,程序中的每一行只能包含可打印的ASCII字符,并且必须按字典顺序(也就是排序)排序。 以下是按顺序排列的所有95个可打印ASCII字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 因此,例如,该行将!!A0~无效,因为A和0顺序混乱。该行将!!0A~有效。 程序中的每一行可以是任意长度,并且可以有任意数量的行。空行被认为是已排序的。程序中的每个换行符都必须相同(不能混合使用\n和\r\n)。禁止使用制表符和其他不可打印的ASCII字符。 由于需求旺盛,获胜条件已改变: 最少行的提交获胜。Tiebreaker进入最短的程序(换行符视为单个字符)。 仅Hello, World!和可选的尾随换行符应输出。请注意,HQ9 +无效,因为它输出hello, world。我可能会禁止使用类似于HQ9 +的具有一个字符“ Hello,World!”的语言。命令的琐碎性。 暗示: 这是绝对有可能在一元和Lenguage,虽然不是很简明。

1
欢乐欢乐
背景 美国对接送服务有着独特的热爱-故意操纵选举区来预测某些投票结果。就在最近,最高法院审理了一个载人妖案。尤其是与种族有关的游击队员被裁定为非法,并导致要求重划分区线。 给定一个自治市的矩形地图(二维数组),您将绘制区域线以帮助您的政党获得最大的代表权。就是说,你会很高兴。每个市政当局都有两个政党,0并且1。地图将由正方形0或正方形组成1。这是一个示例地图: 挑战 您将地图分组为地区,以便该1聚会至少获得输入所指定的地区数。 输入项 输入将包括一张地图,要绘制的区域数以及该1方需要赢得的最小区域数(最小分数)。 输出量 输出将是各地区的地图。每个地区将唯一地由大写字母组成。是的,这意味着不超过26个区。 如果没有可能的输出,则输入的一方赢得了足够的分区,请执行以下任一操作: 打印“我们尝试过...” 致命错误,因为该党在选举结果中受到不可弥补的伤害 或两者 规则(也很重要) 所有地区必须是连续的 地区中可能没有其他地区 每个区必须至少有四个节点。输入内容将与规则一致,这意味着number_of_districts * 4地图中至少会有节点 每个政党的分数是其占多数的区数 如果一个区的0s和1s 数目相同,那么任何一方都不会从中受益 正常的不作弊规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 测试用例 1. Input 1. Output 2. Input 2. Output 3. Input 3. Output districts: 5 Image and map districts: 3 Image below districts: 3 fatal error …

7
挥旗
像这样一个标志: ----------------------------- | | | | | | |=============+=============| | | | | | | ----------------------------- 和一个数字输入:“波长” 假设波长为5。然后,从头开始沿行每5个字符替换下一个字符a -,\并将其后的所有字符向下移动一行。重复此操作直到结束。您最终得到: -----\ | -----\ | -----\ |===== | -----\ | ====== | ----- | ==+=== | -----\ | ====== | -----\ | ====| -----\ | -----\ | ----- 如果您最终无法沿整个波长移动,则标记结束。保持平直直到结束。 您可以假定所有行的长度均相同,并且顶行和底行全部由-(0x2D)组成,其余字符位于!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~或为空格()。(因此,它的ascii值为x,其中31 < x …

30
回答链斐波那契
(灵感来自ASCII的95个字符... 95电影行情) 挑战 给定输入n,输出nth 斐波那契数。您可以使用0或1建立索引,请在您的提交中注明。很简单,是吗?要注意的是,您必须采用上一个答案的字符集,从中删除两个字符,然后添加一个单独的字符。单独的字符必须 不是来自前一个答案的字符集 来自(可打印的ASCII,空格,换行符,水平制表符)的集合 因而你总字符集的大小将正好一个比前一个上回答的更小的集合。 最初的答案 第一个提交必须包含一个子集(所有可打印的ASCII,空格,换行符和水平制表符),并且删除了两个字符。此后的每个提交都必须将其答案限制为这种原始的纯ASCII格式(这意味着您不能添加Unicode或扩展ASCII字符……很抱歉,APL等人,Jelly)。 实例和说明 假设第一个答案在C中,并且包含(几乎所有可打印的ASCII,换行符和水平制表符),并从其字符集中省略%和^。然后,第二个提交必须从上一个字符集(几乎所有可打印的ASCII,换行符和水平制表符)中删除两个字符,并添加%或^。也许这是一个单行的PowerShell答案,而忽略了换行符。等等。 如果上一个答案print(){}!*+的字符集为12个字符,则您提交的内容可能有print(){}!10个字符和一个附加字符,print(){!+10个字符和一个附加字符,依此类推。 如果以前的答案有print(){}!*+其字符集(12个字符),提交的内容可能不具有print()和&(8个字符)作为它的字符集,因为12 - 8 > 1。 如果以前的答案有print(){}!*+其字符集(12个字符),提交的内容可能不会有print(){}!(10个字符),再加上额外的字符*作为其字符集,因为即使那是11个字符,则*包括在上一组。 并非您的字符集中的每个字符都必须对提交内容有所帮助。例如,如果先前的答案print(){}!*+以其字符集为准,并且您的语言具有内置功能,!可以计算斐波那契数列并#启动注释,则您的提交可能!#print(){}仍然有效。 您可以多次使用字符集中的同一字符。例如,假设您的字符集为!*#_,您的答案可能是!!!**#**#_!!并且将是可接受的。 除了您的代码(并且解释也不错!)之外,还请明确列出您的字符集,以使以后的提交更加容易。 获奖 挑战的获胜者将是发布第二个最新提交的人(即不是最后发布的人,因为他们打破了链条)。 最终规则 通常的答案链规则适用: 同一个人不能连续发布两次 如果一个答案被认为是无效的(例如,它使用了禁止字符或计算不正确),则需要将其删除(以及所有后续的答案也都将其链接) 张贴“同时”的两个用户将不得不保留较早的提交 同一语言不能连续发布两次。为了该规则的目的,相同家族的语言(例如,Python 2和Python 3)被视为“相同语言”。 最后的事情: 如果按“最旧的”排序,则此帖子效果最佳,以便正确排列答案。 Kyle Gullion在这里用Python构造了一个代码检查器,以验证您是否丢失或使用错误的字符。

30
将字符串转换为小写(没有内置的转换函数!)
该代码高尔夫球的目标是创建一个代码,该代码允许用户输入ASCII字符串(仅包含可打印的ASCII字符),并且程序将输出此字符串的小写字母。 重要提示:不允许使用将字符串(或仅一个字符)转换为小写的内置函数(例如ToLower().NET,strtolower()PHP等)!但是,您可以使用所有其他内置函数。 另外要注意:输入字符串不包含仅大写字符。输入字符串是大写字符,小写字符,数字和其他ASCII可打印字符的混合。 祝好运!

12
补猫
目的编写一个完整的程序,输出(到STDOUT或最接近的替代品)任意长度不超过64个字符的文本字符串。很简单吧?好了,这很重要:您不能使用上一个答案的输出中存在的任何字符。是的,没有一个。 因此,您正在尝试成为总共三天的最后答案。也就是说,您不希望在发布问题后的72小时内回答该问题。 一些规则 您的答案(和输出)只能包含可打印的ASCII字符,换行符(包括回车符)和制表符。 您答案的输出可能与另一个答案的输出不同。当且仅当它们使用完全相同的字符时,两个输出才是相同的。 您可以使用不是专门针对此挑战而设计的任何语言,即使它是在挑战之后做出的。(当然,这种语言必须是可测试的。) 您不得使用以前使用的任何语言。 您的输入内容可能不包含评论。您当然可以提供额外的评论程序。 您 可能不会连续回答两次。 您的程序必须至少为1个字节。 输入格式 您的答案通常应如下所示: # {Language} Uses: `characters present in the output` Does not use: `characters used in the previous output` from [previous submission, language](link-to-previous-submission] {program} Outputs: {output} 谢谢您提供答案的解释。

12
ASCII字符混杂
编写一个程序,将包含可打印字符(ASCII 20-7E)和n[2,16]中的整数的字符串作为输入,并对字符串进行以下修改。 字符串中的每个字符都将转换为其ASCII码(给出的示例为十六进制,但基数10也可以接受)。 ASCII码将转换为基数n并串联在一起。 新字符串将每隔一个字符分割一次。如果有奇数个字符,则最后一个字符将被完全删除。 打印的ASCII代码(以16为基数)被转换回其字符,而非打印的ASCII代码被删除。 结果字符串被打印出来。 测试用例 输入项 Hello, World! 6 脚步 Hello, World! 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 2002453003003031125222330331030024453 20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45 该程序的输出为 E001R"31$E。 这是代码高尔夫球,因此适用标准规则。以字节为单位的最短代码获胜。

2
连接字母
您应该编写一个程序或函数,该程序或函数接收一个以字符串表示的字符块,并输出或返回一个类似的字符串,在该字符串中,字母的相邻字母相互连接。 视觉示例(以的形式input => output): b d b d |\ /| | \ / | => | X | | / \ | e |/ \e c a c a 细节 输入将是一个包含空格,换行符以及每个第一N个小写字母正好一个的字符串。1 <= N <= 26 输入的行将用空格填充,以创建一个完整的矩形块。 字母表中相邻的每对字母将在同一行,列或对角线上,并应使用来连接直线\ / | or -。(该行的长度可能为0。) 应处理以下两行重叠类型: / and \ become X | and - …

7
代码填字游戏
这是警察和强盗的挑战。如果您是警察(填字游戏制造商),请在此处回答;如果您是强盗(填字游戏求解器),请回答相关问题。您可以同时担任这两个角色。 警察(益智类) 您的任务是编写10×10 填字游戏,其中的代码片段代替了单词或短语,而是线索的解决方案。每个线索将是一个非空的字符序列,因此运行它所引用的代码片段会将序列输出到stdout。 您的帖子必须包括三件事: 您的空白 10×10纵横网格,使用#为深色(线索分离器)和_用于灯(在待填充电池)。 每条水平或垂直的2个或更多的光序列(由黑暗或网格边缘限制)都是您必须为其提供线索的条目。为方便起见,您应以通常的方式(从左至右,从上至下)对这些编号,方法是_在每个条目的开头用唯一的字符标识符(例如1、2,...,A,B )替换,...)。 您的网格可能有许多暗度。 您的网格可能有许多线索。 水平条目始终从左至右阅读,垂直条目从上至下阅读。 线索列表,其中包含填字游戏中上下左右的每个条目。 线索必须包含至少1个且不超过10个字符。 如果您的线索中包含空格,请在格式化帖子时确保它们显而易见。 页眉和页脚代码段,每个20个字符或更少。 它们分别在解决方案摘要之前和之后运行,并且可能有助于重命名较长的内置插件等。 确保线索匹配其相应代码段的过程为: 连接页眉,摘要和页脚:[header][snippet][footer]。 作为常规程序运行此程序(独立于以前的运行),然后查看打印到标准输出的内容。 如果这与线索相符,则该片段是有效的解决方案。 为简单起见,您只能在整个过程中使用可打印的ASCII(十六进制代码20至7E)。页眉和页脚本身也可能包含制表符和换行符。 附加条款 对于任何摘要,[header][snippet][footer]在一台像样的现代计算机上运行都不会超过一分钟。 您必须指定您的编程语言(和版本)。 您可能不使用任何常见的哈希算法。 您可能不使用外部库。 您代码中的所有内容都必须是确定性的,时不变的,并且不需要网络连接。 #并且_可以在片段(或其他地方)发生。 您可能会像COTO那样揭露填字游戏中的某些字符。他们仍然算作灯。不需要强盗使用它们,它们只是很好的提示。 例 使用Python 3.部首一个简单的例子:p=print;t=5;。没有页脚。 未解决的网格: ########## 1___2___## _###_##### _###_##### _###_##### ####_##### ####_##### ###3______ ####_##### ####_##### 线索: ACROSS 1: 8 3: A! …

3
编写一个平方程序,输出已被“展开”的次数
对于一个大于1的奇数整数N,考虑一个正方形的文本块,N个字符,宽N个字符。 例如,让N = 5,文本为: MLKJI NWVUH OXYTG PQRSF ABCDE 请注意,这是从左下角逆时针旋转的字母(Z以外)。有点像卷起的地毯。 将文本“展开”顺时针旋转四分之一圈,因此FGHI与以下ABCDE结果处于同一水平: PONM QXWL RYVK STUJ ABCDEFGHI 展开操作可以再进行7次,直到文本变为一行: SRQP TYXO UVWN ABCDEFGHIJKLM UTS VYR WXQ ABCDEFGHIJKLMNOP WVU XYT ABCDEFGHIJKLMNOPQRS XW YV ABCDEFGHIJKLMNOPQRSTU YX ABCDEFGHIJKLMNOPQRSTUVW Y ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWXY 挑战 面临的挑战是编写一个N×N文本块的程序,该程序在重新排列为展开模式并运行时输出其“展开”四分之一圈的次数。 这里确实有两个比赛:(希望不会太凌乱) 用最小的N进行此操作(下降到N = 3的限制) 用最大N来执行此操作(无限制) 不会有一个可接受的答案,但是这些类别中的每个类别的获胜者都会收到我的至少50笔赏金。如果是平局,则最早的答案将获胜。 例 如果您的代码块是 MyP rog ram 按原样运行它应输出0。 …

5
洋葱编程
仅使用可打印的ASCII(十六进制代码20至7E),编写一个方形N×N 核心程序,不带注释,并由另外4个层围绕,创建一个(N + 8)×(N + 8)方形程序(N> 0) 。对于N = 3,布局(将由实际代码替换)如下所示: 44444444444 43333333334 43222222234 43211111234 4321CCC1234 4321CCC1234 4321CCC1234 43211111234 43222222234 43333333334 44444444444 C代表核心3×3程序。 1代表第一层,2代表第二层,依此类推。 程序始终采用一串用空格分隔的整数,例如0 -1 31 -1 2 2 2通过stdin或类似的字符串(它应该只是纯数字,没有引号或方括号或其他任何东西)。输出取决于运行布局的哪些部分。 有五种运行程序的方式(运行中包括换行符)。每个函数都与列表不同: 只运行核心: CCC CCC CCC 这将计算输入列表元素的绝对值的最大值,并CORE在新行上打印多次。如果最大值为0,则不会输出任何内容(可以使用换行符)。 该输出0 -1 31 -1 2 2 2将 CORE CORE ... 31次。 在第1层运行核心: 11111 1CCC1 …

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.