Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

12
构造伴随矩阵
您有许多个孤独的多项式,因此请让他们成为一些同伴(不会威胁您的攻击)! 对于度的多项式n,有一个n by n伴随的立方 矩阵。您需要创建一个函数,该函数以升序(a + bx +cx^2 + …)或降序(ax^n + bx^(n-1) + cx^(n-2)+…)的顺序接受多项式的系数列表(但不能同时接受)并输出伴随矩阵。 对于一个多项式c0 + c1x + c2x^2 + ... + cn-1x^(n-1) + x^n,其伴随矩阵为 (0, 0, 0, ..., -c0 ), (1, 0, 0, ..., -c1 ), (0, 1, 0, ..., -c2 ), (...................), (0, 0, ..., 1, -cn-1) 请注意,的系数为x^n1。对于其他任何值,请将所有其余系数除以x^n。此外,1从对角线偏移。 …

4
惰性程序员的XML解析器
背景 您正在作为汽车销售公司的程序员。本周的任务是对XML解析器进行编程,以吸收来自不同汽车制造商的可用模型的数据,并打印有关最新模型的信息。幸运的是,测试部门仅提供了一个测试用例!您编写越快的代码越快,在本周的其余时间中拖延时间就越长。 输入值 您输入的正是测试部门提供的XML数据。它包含有关一些汽车制造商,他们的汽车系列以及这些系列中的模型的数据。您可以假设尾随换行符。 <?xml version="1.0" ?> <products> <manufacturer name="Test Manufacturer 1"> <series title="Supercar" code="S1"> <model> <name>Road Czar</name> <code>C</code> <year>2011</year> </model> <model> <name>Ubervehicle</name> <code>U</code> <year>2013</year> </model> <model> <name>Incredibulus</name> <code>I</code> <year>2015</year> </model> <model> <name>Model 1</name> <code>01</code> <year>2010</year> </model> </series> <series title="Test series 22" code="Test"> <model> <name>Test model asdafds</name> <code>TT</code> <year>2014</year> </model> …

1
给我打些高尔夫
如果您以前从未打过高尔夫球,这里是我在此问题中使用的高尔夫相关术语的列表 击球,也称为击球:每次击球,即为击球。 洞:高尔夫球场被分成多个洞,目标是以尽可能少的击球次数将球从一个指定位置打到另一个位置。 T恤:从哪里开始打洞。 固定或国旗:完成孔的位置 球道,粗糙,水和果岭:高尔夫球场上的功能会影响人们在现实生活中的打球方式。(下面说明它们如何影响程序) 我明天要去打高尔夫球,我发现有时候我很难弄清楚该用哪个球杆打一定的码数。所以我决定写下我的球杆及其杆数。 第一个假设:所有孔都位于发球盒的北部。 所有这些码数都测量了球向北移动多远的可能性。球将在为每个球杆(包括两端)指定的边界之间移动一个随机整数距离。 作为一名高水平的高尔夫球手,我的投篮没有任何水平移动。这意味着我所有的投篮都直接在旗线上成一直线。 Club # Club Yardage 1 Driver 300-330 2 3-Wood 270-299 3 5-Wood 240-269 4 3-Iron 220-239 5 4-Iron 200-219 6 5-Iron 180-199 7 6-Iron 160-179 8 7-Iron 140-159 9 8-Iron 120-139 10 9-Iron 100-119 11 P-Wedge 80-99 12 S-Wedge 50-79 …

23
让我成为滚动字幕
介绍 还记得咆哮的80年代吗?我的意思是,就像30年前一样?没有手机,没有互联网,没有自动取款机,没有荧光的衣服(那是什么?!),还有滚动的马其布的!不不不!带LED灯的不是在线的,而是真实的。 由于我怀旧,我希望您创建一个滚动字幕。 挑战 创建一个程序,您可以在其中输入一个单行字符串。您的程序需要创建一个80个字符的滚动字幕,并在必要时重复该文本。 规则 用户必须能够在程序中输入字符串作为输入。该字符串可以是命令行参数,也可以是运行程序时输入的字符串。 您的程序必须连续打印正好80个(可见)字符的字符串。 字符串必须每0.1秒更新一次(或多或少;我不会定时),每次迭代时将字符向左移动一个位置。 字符串“旋转”。在用户提供的字符串的末尾,必须显示该字符串的另一个实例。 您的程序必须在一行中打印输出,没有换行(使用'\ r'而不是'\ n') 您的程序必须无限运行,直到用户中断。 这是一个代码高尔夫,因此以字节为单位的最短代码获胜。 有10%的奖金(四舍五入了到下一个整数),用于在红色印刷在黑色的背景。 有标准漏洞。 Python 2.7中的参考实现 该程序不是高尔夫运动,但它提供了参考实现(因此提供了大小上限)。 import time,sys s=raw_input()*99 while 1: for i in range(80): print s[i:i+80]+'\r', sys.stdout.flush() time.sleep(0.1)
15 code-golf 

16
字母数字
有一个非常简单的密码,可以用字母在字母表中的位置代替字母。例如,abc将成1 2 3为此密码。 此挑战是对此密码的另一种选择。 挑战 创建一个程序,该程序需要输入ASCII字符,并输出以空格分隔的字符串: -26通过整数26 a通过字母j 输出应通过STDOUT或您的语言最接近的替代品输出。 技术指标 大写字母应否定。大写D的例子是-4,当一个小写d会4。 数字应更改为对应的alpha。1被a等等。输入中的任何零将为j。 所有非字母数字字符(空格除外)均应忽略。 空格是0。 输出中的相邻空格应减少为单个空格。 Input: You + Me Correct Output: -25 15 21 0 -13 5 Incorrect Output: -25 15 21 0 0 0 -13 5 允许使用单个尾随空格或换行符。 例子 Input: programming puzzles Output: 16 18 15 7 18 1 13 …

4
用C(N)位计算A(N)/ B(N)
考虑三个数字序列A,B和C: A:一个基于递归关系的序列f(n) = f(n-1)+f(n-2),以开头f(1) = 3, f(2) = 4。因此,序列开始如下:3 4 7 11 18 29 47 76 ... B:组合数字,即不是质数(或1)的所有整数:4 6 8 9 10 12 14 15 16 ... C:Pi的数字: 3 1 4 1 5 9 2 6 5 ... 给定正整数N < 50(作为函数参数或STDIN),返回小数点的十进制值,其小数点后A(N)/B(N)有C(N)数字。适用四舍五入的常规规则(如果第N + 1个数字为5或更高,则四舍五入)。如果第N位数字pi为零,则应打印一个整数。科学计数法/标准格式适用于大于1000的数字。 这是代码高尔夫,所以最短的答案以字节为单位。 一些例子: N = 1: 0.750 N …

30
生成随机UUID
我需要一个UUID。您的工作是生成一个。 规范的UUID(通用唯一标识符)是一个32位十六进制数字,在某些点上插入了连字符。程序应输出32位十六进制数字(128位),格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12位数),其中x是一个随机十六进制数。假设您的语言的PRNG是完美的,则所有有效输出必须具有相同的生成概率。 TL; DR 生成以下形式的32个随机十六进制数字 8-4-4-4-12数字数字。最短的代码获胜。 编辑:必须为十六进制。始终仅生成小数是无效的。编辑2:没有内置。这些不是GUID,只是通用的十六进制数字。 输出示例: ab13901d-5e93-1c7d-49c7-f1d67ef09198 7f7314ca-3504-3860-236b-cface7891277 dbf88932-70c7-9ae7-b9a4-f3df1740fc9c c3f5e449-6d8c-afe3-acc9-47ef50e7e7ae e9a77b51-6e20-79bd-3ee9-1566a95d9ef7 7b10e43c-3c57-48ed-a72a-f2b838d8374b 输入和标准漏洞是不允许的。 这是代码高尔夫球,因此最短的代码获胜。另外,请随时进行澄清。
15 code-golf  random 

3
指示方向
挑战 您已将地图提供给看起来像这样的朋友: | / | / | \ | \ D 一个简单的地图,从顶部开始,在底部结束。可悲的是,您的朋友不明白。您可以解码地图以便他可以阅读吗? 输入值 输入是由字符的字符串|,/,\,D,^,Y, (空间),和换行符。 | 告诉您留在同一列中。 \ 告诉您移至右边的列并向下1。 / 告诉您移至左侧和下方的列1。 D 标记目的地。 ^ (如果存在)说明路径中存在分裂。 Y(如果存在)表明路径重新连接。像对待它一样|。 输入的排列方式将使其成为一种路径: | | \ | ^ / \ / | D | 两条路径之间始终会有一个空格,所有路径将重新连接或到达输入的最后一行。每个地图只会有一个分割。输入映射的长度没有限制。路径永远不会超过两个。 输出量 输出应该是一串方向。 “ 大号 ”应该告诉你的朋友搬家大号 EFT,并采取1周的一步。 “ [R ”应该告诉你的朋友搬家[R飞行,并采取1周的一步。 “ F …
15 code-golf 

1
算术... to ... tick ...…
我喜欢在长时间的电话会议中玩的游戏带给您这个问题。 给定24小时制(从00:00到23:59)中的任意两次,仅使用基本算术运算之间的所有时间可以生成多少个有效的数学方程式? 输入:两个四数字串(无结肠)表示在24小时循环有效时间。 例子: 输入= 0000,1300 03:26 produces: "0+3*2=6" and "03*2=6" etc. 11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc. 12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc. 有效的操作是: 加成 减法 乘法 除法(浮点数) 求幂 阶乘 其他允许的符号 括号 等号 最短的代码获胜。 笔记 我们的目标是找到数的两倍,那几次都不数量之间有效的表达式包含一个有效的表达。 输入的两次时间包含在时​​间范围内。 您可以采用任何可能的方式对数字进行分组,因此“ 1223”可以是“ 12 23”或“ 1 2 …

5
找到最近的钟针
挑战 给定午夜之后几秒钟的时间,请输出时钟表盘上任何两只指针之间的最小角度,并使用尽可能少的字节。 您可以假设秒数始终小于86400。角度可以用度或弧度表示。 参考解决方案位于:http : //ideone.com/eVdgC0 测试用例(以度为单位的结果) 0 -> 0 60 -> 0.5 600 -> 5 3600 -> 0 5400 -> 45 6930 -> 84.75 50000 -> 63.333 澄清说明 时钟有3针:时,分和秒。 所有指针都连续移动,因此可以在表盘的刻度之间找到时针和分针。

3
洞穴,惠勒和背部
背景 在Burrows-Wheeler变换(BWT)是一个字符串的字符的可逆置换的结果在对某些类型的字符串如纯文本相似字符大运行。例如,它在bzip2压缩算法中使用。 BWT定义如下: 给定一个输入字符串,例如codegolf,计算它的所有可能的旋转并将它们按字典顺序排序: codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg 字符串的BWT codegolf是由该字符串的每个字符的最后一个字符组成的字符串,即该块的最后一列。因为codegolf,这产生了fodleocg。 就其本身而言,这种转换是不可逆的,因为字符串codegolf和golfcode导致相同的字符串。但是,如果我们知道字符串以结束f,则只有一个可能的原像。 任务 实现一个渐进式程序或函数,该程序或函数从STDIN读取单个字符串,或者作为命令行或函数参数读取并打印或返回BWT或它的输入字符串的倒数。 如果输入字符串不包含空格,则您的提交应在输入后附加一个空格并计算BWT。 如果输入字符串已经包含一个空格,则它应该计算具有尾随空格的BWT的原像,并去除该空格。 例子 INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: ProgrammingPuzzles&CodeGolf INPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< OUTPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R INPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R OUTPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …

2
装满水气球
在此挑战中,您必须显示给水气球所填充的水量的ASCII艺术形式: | __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+ 如何画气球 要显示大小气球n,请按照以下步骤操作(注意:每当使用除法符号(/)时,它将表示整数除法,向下取整): 绘制一个容器,该容器包含左右十个竖线(|),-底部十个破折号()和+左下角和右下角的加号()。这使整个事情变成12x11,“内部”变成10x10。 | | | | | | | | | | | | | | | …

2
将RoboCritters转换为Brainf ***
RoboCritters(词源学)是一种崭新的深奥编程语言(不必费心去寻找它,我只是发明了它)。它是是Brainfuck(BF)变体,比通常的运算符替换方案稍微复杂一些。RoboCritters中的每个程序都是一个矩形的文本网格,该文本网格仅包含七个字符. []/\|以及用于换行的换行符。 示例RoboCritters程序: |\/||./|[]|| [..][][] | |/\|[..][..] [..] \/\/ 要将RoboCritters程序转换为BF,请按正常阅读顺序(从左到右,然后从上到下)查看网格中的每个非换行符|\/||./|[]||[..][][] ||/\|[..][..][..] \/\/。 如果从当前角色向右和向下延伸的网格的4×2部分与下面列出的八个机器人生物之一完全匹配,请附加相应的BF命令(><+-.,[])到(最初为空)BF程序。 如果4×2网格部分与任何机器人生物都不匹配或超出范围,则不向BF程序添加任何内容。 Joybot,>命令: [..] \][/ Calmbot,<命令: [..] /][\ Squidbot,+命令: [..] //\\ Spiderbot, -命令: [..] |||| Bunnybot,.命令: [][] [..] Toothbot,,命令: [..] |/\| Foxbot,[命令: |\/| [..] Batbot,]命令: [..] \/\/ 因此,请阅读示例程序 |\/||./|[]|| [..][][] | |/\|[..][..] [..] \/\/ 我们可以看到我们首先遇到了Foxbot(在第1列第1行),然后是Toothbot(c1,r2),然后是Bunnybot(c5,r2),最后是Batbot(c9,r3)。这对应于BF程序[,.]。 请注意Foxbot和Toothbot重叠。这是故意的;重叠的机器人生物没有任何不同的解释。 挑战 编写最短的程序,该程序可以接收RoboCritters程序并输出等效的BF。您无需运行BF或检查其是否有效,只需将RoboCritters代码转换为BF代码即可。 …

13
小数时间转换
介绍 时间令人困惑。六十秒到一分钟,六十分钟到一小时,一天二十四小时(更不用说讨厌的上午/下午!)。 如今,没有这么大的愚蠢空间,因此我们决定采用唯一明智的选择:十进制天!也就是说,每天被认为是1个完整的单位,较短的部分则记作该天的小数部分。因此,例如:“ 12:00:00”将被写为“ 0.5”,而“ 01:23:45”将被写为“ 0.058159”。 因为要适应新系统将花费一些时间,所以您需要编写一个可以在两个方向之间进行转换的程序。 挑战 使用您选择的语言编写一个程序,该程序在ISO-8601格式为“ hh:mm:ss”的现代环境下将返回等效的十进制小数单位。同样,给定小数部分,程序应以最初指定的现代格式返回时间。 您可以进行以下假设: 现代时间输入和输出的范围可以从“ 00:00:00”到“ 24:00:00” 小数点输入和输出的范围可以从“ 0”到“ 1”,并且应该能够接受/输出至少5个小数位(例如“ 0.12345”)。可以接受更高的精度 程序应该能够知道基于输入执行哪个转换方向 您不能使用与时间相关的功能/库 获胜者将由符合条件的最短代码确定。至少以7个小数日为单位,或者如果/如果提交的数量足够,则选择它们。 例子 这是一个(故意)写得不好的JavaScript代码,以作为示例: function decimalDay(hms) { var x, h, m, s; if (typeof hms === 'string' && hms.indexOf(':') > -1) { x = hms.split(':'); return (x[0] * 3600 + …

9
Brainf ** k一元及后退
在受限来源和其他此类挑战中非常有用的语言是 一元,其中程序与只有一个字符写在一个brainfuck衍生物。您的工作是编写一个程序,将程序从Brainfuck转换为一元,并编写一个相反的程序,两个程序都使用相同的语言。您的分数将是两个程序的长度之和。 您如何从Brainfuck转换为一元? 首先根据此表将您的Brainfuck代码转换为二进制代码: 现在按代码顺序将代码连接成一个巨大的二进制数。 前置一个 1字符串,以确保一个唯一的二进制数。 使用任何字符将二进制数转换为一元数。 例如:+.将为000000000000000000000000000000000000000000000000000000000000000000000000000000000000(84个零)。 Brainfuck->一元规格 由于生成的程序不可能太大,因此,请不要打印实际的程序,而仅打印生成的程序的长度。 通过stdin,arg函数等将Brainfuck程序作为字符串,并输出长度。 该程序将始终有效,并且其中仅包含这8个字符。 一元-> Brainfuck规格 您将必须实现与上述算法相反的方法。 再次由于存在巨大的问题,输入将是一个描述Unary代码长度的数字。 一如既往的I / O规则。 该程序将始终有效,并且其中仅包含这8个字符。 测试用例 你好世界- ++++++[>++++++++++++<-]>.>++++++++++[>++++++++++<-]>+.+++++++..+++.>++++[>+++++++++++<-]>.<+++[>----<-]>.<<<<<+++[>+++++<-]>.>>.+++.------.--------.>>+.=239234107117088762456728667968602154633390994619022073954825877681363348343524058579165785448174718768772358485472231582844556848101441556 斐波那契- ++++++++++++++++++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++++>++++++++++++++++>>+<<[>>>>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>[<+>-]>[-]>>>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>>[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<<<++++++++++++++++++++++++++++++++++++++++++++++++.[-]<<<<<<<.>.>>[>>+<<-]>[>+<<+>-]>[<+>-]<<<-]<<++...=13067995222095367150854793937817629722033205198624522624687536186118993888926522550140580142585590431635487113180955099384652678100247403485397450658564826143160529351955621991895221530908461364045400531236124980271740502887704217664044858614821622360156740992393765239123681327824577149595724956207165558106099868913919959549896553103116795519592552089266360725543244154867904980260 这是代码高尔夫球,因此最低得分(以字节为单位)将获胜! 有人在Unary寻找解决方案吗?; P

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.