Questions tagged «conversion»

此标签表示挑战涉及从一种格式转换为另一种格式。

21
将您的英语源代码翻译成外语[关闭]
我注意到,基于英语的计算机语言数量不成比例。我建议通过将现有的计算机语言翻译成外语来解决此问题! 选择一种使用英语关键字/功能的计算机语言 选择英语以外的任何自然*语言 编写一个程序,将其自身的源代码或使用相同关键字/函数子集编写的任何其他程序翻译成其他语言 发布源代码和输出(翻译后的代码) 用以下内容开始您的帖子: 法语BASIC 要么 BASIC,法语-FONDAMENTAL 如果不想,您不必翻译语言名称,这只是为了好玩! 您不必翻译所选语言中的所有关键字/功能,只需翻译您在源代码中实际使用的关键字/功能即可。例如,PHP有成千上万,因此您绝对不需要全部翻译!另外,如果您有任何意见,也请尽力翻译!程序完成后,除非适用于外语的英语单词不应该被识别。字符串中的单词也应该翻译(这意味着翻译后的程序即使可以运行,也不再能在英语源代码上运行!)。希望您的程序对说另一种语言的程序员有某种意义! 例如,if () {} elseif () {} else {}可能会变成si () {} sinonsi () {} sinon {}法文!如果您将Perl的翻译elsif成法文,也许您会n像e用英语将第二个单词放在第二个单词一样丢弃第二个单词sinosi。在法国其他更可能是他者,但替代兴农(或者,否则)感觉更好的给我! 有创造力!尝试捕捉计算机和自然语言的感觉!没有英语标记的语言如Brainfuck,CJam等将无法使用。像BASIC或COBOL之类的语言更合适。除非您的语言不支持可以是英语单词的变量名,否则请使用有意义的变量名并进行翻译。 您可以发布多个答案,每个答案对应一种计算机/自然语言。您不得使用库或外部工具进行翻译!您的代码应自行翻译,而不要调用其他可以翻译的内容!这不是Code Golf!如果您的程序接受任何输入,则只能是其自己的源代码,如果它是从光盘中读取的,则只能是源文件,等等。 *就此挑战而言,我将世界语,洛伊班语,Volapük,Interlingua等视为自然语言。您可能没有为这项挑战发明自己的语言! 我添加了一条规则来防止显眼的提篮。您可以选择关键字/功能的任何子集(甚至全部)进行翻译。您的程序必须至少能够翻译自己,即,如果您的原始来源中包含单词,print那么print(42)在输入代码中添加任何位置(而不是您的程序本身)仍将产生正确的结果。 例如: function translate() { ... } print(translate()); 可能成为 fonction traduire() { ... } imprimer(traduire()); 如果输入更改为 print(42); function translate() { …

5
天哪,到处都是空间!
有些人坚持使用空格进行制表和缩进。 对于列表,这无疑是错误的。根据定义,制表符必须用于制表。 即使是缩进,制表符在客观上也很出色: 在Stack Exchange社区中有明确的共识。 使用单个空格进行缩进在视觉上是不愉快的;多使用一个是浪费的。 正如所有编码高尔夫球手都知道的那样,程序应尽可能短。如果需要处理的字节数更少,那么它不仅可以节省硬盘空间,还可以减少编译时间。 通过调整制表符宽度1,同一文件在每台计算机上看起来都不同,因此每个人都可以使用自己喜欢的缩进宽度,而无需修改实际文件。 默认情况下,所有好的文本编辑器都使用制表符(和定义)。 我这么说,我永远是对的! 可悲的是,并非每个人都在听理性。有人给您发送了一个文件,该文件做错了TM,您必须对其进行修复。您可以手动进行操作,但是还会有其他操作。 间隔器浪费您的宝贵时间已经很糟糕了,因此您决定编写最短的程序来解决该问题。 任务 编写执行以下操作的程序或函数: 从STDIN或作为命令行或函数参数读取单个字符串。 标识所有用于制表或缩进的空格。 如果在行的开头出现空格,则表示缩进。 如果不是缩进,则两个或多个空格的行程为制表。 甲单一可以或可以不被使用,是不是缩进空间制表。不出所料,当您将同一字符用于不同目的时,没有简单的方法可以分辨。因此,我们将说该空间已被用于混淆。 确定可能的最长制表符宽度1,用于制表符或缩进的所有空格都可以用制表符替换,而无需更改文件的外观。 如果输入既不包含制表也不包含缩进,则无法确定制表符宽度。在这种情况下,请跳过下一步。 使用先前确定的制表符宽度,用制表符替换用于制表或缩进的所有空格。 另外,只要有可能,而不会改变文件的外观,请使用制表符替换所有用于混淆的空格。(如有疑问,请排除空格。) 从函数中返回修改后的字符串或将其打印到STDOUT。 例子 的所有空格 a bc def ghij 制表。 每次运行空格都会将前面的非空格字符字符串填充为5的宽度,因此正确的制表符宽度为5,正确的输出2为 a--->bc-->def->ghij 的前两个空格 ab cde f ghi jk lm 都是制表的,其他的很混乱。 正确的制表符宽度为4,因此正确的输出2为 ab->cde>f ghi>jk lm 最后一个空格保持不变,因为如果由制表符代替,它将被呈现为两个空格: ab->cde>f ghi>jk->lm 除一个空格外的所有空格 int …

27
像巴比伦人一样数数
挑战 给定输入的巴比伦数字的ASCII表示,以西方阿拉伯数字输出数字。 巴比伦数字系统 巴比伦人如何计算?有趣的是,他们将Base 60系统与Base 10系统一起使用。让我们首先考虑系统的unit列: 巴比伦人只有三个符号:(T或者,如果您可以渲染它:)𒐕代表1,<(或者,如果您可以渲染它:)𒌋代表10,和\(或者,如果您渲染它:)则𒑊代表零。 注意:从技术上讲,\(或𒑊)不为零(因为巴比伦人没有“零”的概念)。后来发明了“零”,所以后来又\添加了一个占位符以防止歧义。但是,就此挑战而言,将其视为\零就足够了 因此,在每一列中,您只需将符号的值相加即可,例如: <<< = 30 <<<<TTTTTT = 46 TTTTTTTTT = 9 \ = 0 每列中不得超过五个<或超过九个T。\将始终单独出现在列中。 现在,我们需要扩展它以添加更多列。这与任何其他基数60完全相同,在此基础上,您将最右边的列的值乘以,将左边的一乘以60 1,将左边的一乘以60 2,依此类推。然后,您将每个值相加以获得数字的值。60060060^0601个60160^160260260^2 列将由空格分隔以防止歧义。 一些例子: << <TT = 20*60 + 12*1 = 1212 <<<TT \ TTTT = 32*60^2 + 0*60 + 4*1 = 115204 规则 您可以自由接受ASCII输入(T<\)或Unicode输入(𒐕𒌋𒑊) 输入的数字将始终小于10710710^7 该<旨意始终是左边的T每列S …

15
温度转换器
这是一个字节大小的挑战,您必须将三个单位(摄氏,开氏和华氏度)之一的输入温度转换为另外两个单位。 输入值 系统会为您提供温度数字,后跟一个单位(以空格分隔)。温度可以是整数或浮点数(23对23.0或23.678)。 您可以提交一个函数或完整程序,该函数或程序从STDIN / ARGV / function参数或最接近的等效项读取以空格分隔的字符串,然后将输出打印到STDOUT或最接近的等效项。 输出量 您的输出应该是将温度转换为其他两种格式,用换行符分隔,然后在每行后跟相应的单位字符(可选用空格分隔)。两个单元的顺序无关紧要。 输出精度 转换后的数字应精确到至少四位小数而不四舍五入。 只要精确到前4个小数位(不舍入),则尾随零或小数位是可选的。如果实际答案在小数点后有4个零,则还可以跳过4个零和/或小数点。 不应有任何前导零 只要满足上述三个要求,任何数字格式都是可以接受的。 单位代表 温度单位只能是以下之一: C 对于摄氏 K 对于开尔文 F 为华氏度 例子 输入: 23 C 输出: 73.4 F 296.15 K 输入: 86.987 F 输出: 303.6983 K 30.5483 C 输入: 56.99999999 K 输出: -216.1500 C -357.0700 F 这是代码高尔夫球,因此以字节为单位的最短条目将获胜!高尔夫快乐! 排行榜 …

6
COBOL Y2K Redux
在20世纪90年代,COBOL电脑工程师摸索出了一种通过将它们转换为延长六位数的日期字段YYYDDD,其中YYY是year - 1900和DDD是一年中的一天[001 to 366]。此方案可以将最长日期延长到2899-12-31。 在2898年,工程师们开始恐慌,因为他们已有900年历史的代码库将要失败。从2898年开始,他们只是使用自己的时间机器将一个单独的Codeinator发送到1998年,并使用了该算法,并实现了尽可能广泛地实现它的任务: 请使用一种方案PPQQRR,在这种情况下,如果它是1900年代01 ≤ QQ ≤ 12的标准YYMMDD日期,但如果QQ > 12它代表2000-01-01,则以100为底PP,RR而以87为底QQ - 13。 该方案已远远超过2899年,并且也与标准日期向后兼容,因此不需要修改现有档案。 一些例子: PPQQRR YYYY-MM-DD 000101 1900-01-01 -- minimum conventional date suggested by J. Allen 010101 1901-01-01 -- edge case suggested by J. Allen 681231 1968-12-31 -- as above 991231 1999-12-31 -- maximum conventional date 001300 …

15
我需要多少法力?
Dungeon Master是有史以来最早的实时角色扮演游戏之一,最初于1987年在Atari ST上发布。在当时其他令人兴奋的事情中,它提供了一个基于符文的相当复杂的咒语系统。 今天的任务是编写一个程序或函数,以评估在Dungeon Master中施放给定咒语所需的法力点数。 上图右上方的青色框是“拼写”系统。 法术,符文和法力 地下城主法术由2至4个符文组成,并按照以下顺序从以下类别中进行选择: 功率(强制性) 元素影响力(强制性) 表格(可选) 类/对齐(可选) 这意味着有效的咒语是: 力量+元素影响 力量+元素影响力+形式 力量+元素影响力+形式+阶级/阵线 每个类别包含6个符文,每个符文都有一个相关的基础法力消耗: ============================================================================= | Power | Rune | Lo | Um | On | Ee | Pal | Mon | | +-----------+------+------+------+------+------+------+ | | Base cost | 1 | 2 | 3 | 4 | …

8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

30
12小时至24小时时间转换器
令人惊讶的是,这个简单的任务似乎还不存在,所以... 您的任务是编写一个程序,该程序将12小时时间作为输入,并将其转换为“军事时间”或24小时时间格式。 输入将采用以下形式: HH:MM am/pm 尽管可以有一些细微的变化: 上午/下午与其余时间之间的间隔是可选的。 最后一部分可以是“ am” /“ pm”或“ a” /“ p”。 任何大写字母都可以。 输出将是输入的时间,转换为24小时格式。它可以是数字或字符串。 对于输入和输出: 首先的0是可选的。最后3个位必须为0。 分隔小时和分钟的定界符可以是“:”,“”(空格)或什么都不是。 其他说明: 午夜可以表示为0000或2400。 午夜将被视为“上午”,而中午将被视为“下午”。 您的程序可以是函数,也可以是完整程序,应返回结果或将其输出到标准输出。尾随空格可以。 示例(不需要支持每种格式): 12:00am -> 0000 1200 pm -> 1200 1234Am -> 00:34 134a -> 134 01:34PM -> 13 34 1234pm -> 1234 这是代码高尔夫,因此最少的字节数获胜。由于使用内置程序解决此问题非常简单,因此很高兴看到一些手动解决此问题的代码(但使用内置程序很好)。 只是为了澄清,你是不是需要支持每一个可能的格式。仅支持单个输入和单个输出格式(您选择)就可以了。但是,我想限制上面概述的格式(它已经相当免费了)。{1134,'pm'}例如,这将是不可接受的。

30
无效的Invali无效
这个想法大致基于@TùxCräftîñg的聊天消息。 看一下下面的示例序列: INVALID0,INVALID1,INVALID2 INVALID3,INVALID4...INVALID9 之后INVALID9,它像这样继续: INVALI0,INVALI1,INVALI2,INVALI3...INVALI9 之后INVALI9,是这样的: INVAL0,INVAL1,INVAL2,INVAL3...INVAL9 之后,INVAL9是这样的: INVA0,INVA1,INVA2,INVA3,...INVA9 注意我们如何INVALID每次都从单词中删除字母。 您将不断重复此操作,直到到达单个字母,即字母I: I0,I1,I2,I3,I4...I9 现在,您的任务是,像上例一样,输入一个单词,并从中产生一个序列。您的代码还必须使用单个字母,在这种情况下,结果序列将更短。 您可以选择自己喜欢的任何输入和输出格式(根据需要选择带或不带分隔符),但是必须指定选择的格式。 顺序必须严格按照指定的顺序进行。 成功完成此挑战的最短代码(以字节为单位)将赢得挑战。 上例中的完整序列: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, INVALI0, INVALI1, INVALI2, INVALI3, INVALI4, INVALI5, INVALI6, INVALI7, INVALI8, INVALI9, INVAL0, INVAL1, INVAL2, INVAL3, INVAL4, INVAL5, INVAL6, INVAL7, INVAL8, INVAL9, INVA0, INVA1, …

18
旋转对称数
给定一个整数,如果它是相同的上下颠倒(旋转180°),则输出真实值,否则输出虚假值。 0,1并且8具有旋转对称性。6成为9,反之亦然。 产生真实结果的数字序列:OEIS A000787 0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, …
27 code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

30
将C标头名称转换为C ++标头名称
在C标准库中,标头名称以.h后缀结尾: stdio.h 在C ++中,这些标头名称以另一种形式可用,但带有c前缀: cstdio 编写一个将第一种形式转换为第二种形式的函数。您可以就地进行转换,也可以保留原始字符串不变并返回新字符串。无论您选择哪种语言感到自然。 该代码必须正确编译/解释。编译器警告是可以接受的。 这是您的基准C解决方案。它有70个字符,并生成有关以下内容的警告strlen: void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';} 最短的解决方案(以字符数衡量)获胜。 更新:如果您选择的语言不支持功能,则可以接受整个程序。 更新:正如FUZxxl所建议的,这是C标准库中头文件的完整列表: assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h 具体来说,没有标题名称,其中包含多个点。

11
给我烤些莫吉
给定一个字符串,字符列表,字节流,序列…,它们既是有效的UTF-8,又是有效的Windows-1252(大多数语言可能会希望使用普通的UTF-8字符串),然后将其转换为(即假装为)Windows-1252到UTF-8。 演练示例 UTF-8字符串 I ♥ U T F - 8 表示为字节, 49 20 E2 99 A5 20 55 54 46 2D 38 这些字节在Windows-1252表中的字节值为我们提供了Unicode等效形式 49 20 E2 2122 A5 20 55 54 46 2D 38 ,这些形式表示为 I â ™ ¥ U T F - 8 例子 £ → £ £ → …

12
密集包装的十进制(DPD)到十进制
对于nandgame爱好者:请在逻辑门中也尝试DPD十进制! 背景 密集包装的十进制(DPD)是一种以二进制有效存储十进制数字的方法。它以10位存储三位十进制数字(000至999),这比朴素的BCD(以4位存储一位数字)的效率要高得多。 记号 小写字母ato i是复制到十进制表示形式的位。 0和1是输入或输出位模式中的确切位。 x 转换中将忽略这些位。 换算表 以下是从10位DPD到三位十进制数字的转换表。每个十进制数字都表示为4位二进制(BCD)。双方都从最高位到最低位从左到右书写。 Bits => Decimal (Digit range) a b c d e f 0 g h i => 0abc 0def 0ghi (0-7) (0-7) (0-7) a b c d e f 1 0 0 i => 0abc 0def 100i (0–7) (0–7) (8–9) …

21
镜子中的镜子
二维编程语言通常具有镜像命令,例如/和,\以重定向网格上的指令指针: >>>>\ v v <<<</ 在此挑战中,您将获得一个传入方向和一个镜像,并且需要确定传出方向。 规则 传入方向将被指定为字符之一,NESW而镜像将被指定为/或\。您可以按任何顺序收到这些。您必须使用大写字母。 您可以采用任何方便的格式输入,包括两个字符的字符串,在字符之间使用一些分隔符的字符串,列表中的一对字符,甚至一对单例字符串。如果确实使用带分隔符的字符串,则分隔符不能使用任何字符NWSE\/。 输出应为一个字符NESW或单个字符的字符串。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 您只需要处理8种可能的输入,因此没有理由不对所有代码进行测试: N / --> W N \ --> E E / --> S E \ --> N S / --> E S \ --> W W / --> N W \ --> S

22
高尔夫文字成DNA
文字转DNA高尔夫 挑战 将输入转换为DNA输出。 算法 将文本转换为ASCII码点(例如codegolf-> [99, 111, 100, 101, 103, 111, 108, 102]) 将ASCII码串在一起(例如99111100101103111108102) 转换为二进制(例如10100111111001101001011010001000011001101011011110000110010111111011000000110) 将0s 填充到末尾以形成偶数个字符(例如101001111110011010010110100010000110011010110111100001100101111110110000001100) 更换00用A,01用C,10用G,并11用T(例如GGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA) 输出量 测试用例 codegolf > GGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA ppcg > GGCTAATTGTCGCACTT } > TTGG (padding) 技术指标 这是代码高尔夫 您的程序必须在输入中接受空格。 您的程序必须适用于codegolf。

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.