Questions tagged «code-golf»

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

2
这条鱼路结束了吗?
我爱> <>,​​> <>是生命!2D语言真棒!在这个挑战中,您必须在进行代码搜寻时说出一条“鱼腥”道路是否终结。 定义 一条鱼路铺有瓷砖,包括以下瓷砖: v (go down) > (go right) ^ (go up) < (go left) / (mirror) \ (mirror) 其他任何字符(除外-|+)都可以被认为是一种干扰,例如道路边界上的一些花朵(或鱼头)。 道路总是从矩形网格的左上角开始,由-|+符号分隔。如果沿着它走到一条边界上,那条路就有尽头,否则,您将被困在一条无限的道路上。 遵循v>^<和镜子给出的指示,即可在路上找到自己的路。镜子将根据您来自何处反射90°。这是它的工作方式(v>^<用来显示路线): ^ ^ >/< >\< v v </> <\> ^ ^ 如果道路终止,则可能看起来像这样: +--------------------+ |>\/ this way >\/> | this one ends here | v^ \/ | | …

3
高尔夫紫色口译员
高尔夫紫色口译员 Purple是一种esolang,其设计目的主要有两个: 尽量减少茄子,因为周围没有足够的自修改单指令语言。 承认有可能会出现可怕的小型高尔夫口译员。我在功能相当合理的Python 2解释器上的第一次访问只有702个字节,而且我相信经验丰富的高尔夫球手可以从中获得很多好处。 您的目标是为此语言编写翻译。 紫色信息: 紫色程序是一系列字符,它们放置在一个无限的可寻址存储器阵列中,从而程序的第一个字符位于地址零。数组的其余部分(存储Purple程序的前后)都初始化为零。 Purple中有三个寄存器,分别称为a和b和i,每个寄存器可以保存一个有符号整数,并初始化为零。i还是指令指针,并且始终指向当前正在执行的Purple指令。 每个周期,解释器将从指令指针指示的存储位置开始读取三个连续字符的序列,并尝试将该序列作为Purple指令执行。之后,指令指针总是增加3。 在语法上,Purple指令连续包含三个字符(或其编码),例如“ xyz ”。 第一个字符x可以是以下任意一个: abABio 这些符号具有以下含义: a - Place the result in register a. b - Place the result in register b. A - Place the result in the location in memory referred to by register a. B - Place …

6
独特的乘法螺旋
这是受Calvin's Hobbies最近乘法表挑战的启发。 编写一个函数或程序,该函数或程序以整数N作为输入,并打印或返回N×N的唯一乘法螺旋。该代码必须(理论上)适用于0到1000之间的N(尽管很难输出)。输出应等于通过以下过程生成的表: 填写N×N乘法表。例如,N = 3: 1 2 3 2 4 6 3 6 9 从左上角顺时针旋转,记下您访问的数字。当您访问已访问的号码时,将其替换为0。 几个例子可能会更清楚: n = 0: 0 n = 1: 1 n = 2: // Spiral order: 1 2 // 1 2 0 4 // 4 3 n = 3: 1 2 3 // 1 2 …

10
查找交织的源代码(强盗)
这是强盗的线索。有关警察的线索,请转到此处。 介绍 对于这次“警察/盗贼”挑战,警察将编写产生输出的程序并将它们交织在一起。强盗的工作是将警察的程序分开以产生所需的输出。 强盗规则 强盗将尝试找到人们在提交给警察的线索(以上链接)中提交的不同程序。如果强盗解决了警察的代码,则他们必须张贴分离的程序,并在此处将其与输出匹配,并在答案中张贴,并且他们已破解警察的答案上的代码。 计分 在对破解的提交进行评分时,会将两个部分加在一起。 2取决于警察回答中使用的不同程序的数量 圆形的字节交织的数量下降到2最近的电源。 例如,如果强盗TIliGoEnR以TIGER和的身份开枪lion,那么强盗将获得2 ^ 2 + 8 = 12点。 强盗挑战的获胜者将是在足够长的时间让人们参与之后得分最高的人。 (谁想帮助您制作摘录?)

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

4
疯狂的图书馆员有趣的素置换索引号生成器
您用主序列码保存了这一天,而数学老师则喜欢它。如此之多,以至于对馆员(a / k / a,您的老板)提出了新的挑战。恭喜,您可以对解决方案进行编码,以便管理员可以再次打动数学老师。 从以10为底的N的自然数序列开始 0、1、2、3、4、5、6 ... 排除0和1,此序列中的每个数字均为素数,P 2、3、5、7、11、13 ... 或复合,C 4、6、8、9、10、12、14、15、16、18、20 ... 反映如何图书馆管理员思想插入的整数位数成从一个数的小数膨胀P,数学老师代替创建的函数G(X,Y) ,需要一个数x从Ñ与1 <= x <= 9和一个数y从Ç并插入x到y每个位置的小数点扩展,按从左到右的顺序,仅选择唯一的数字。 例如,G(3,14)是314, 134, 143。但是,G(1,14)是唯一的114, 141,因为不管你前面加上或插入1到14,相同的编号114被生成。 数学老师想知道,如果您按递增顺序进行运算,那么在获得P之前,必须进行多少次排列x。数学老师将此称为数字的复合素数索引,并将其写为CPI(y)。 例如,4只需执行两次:14, 41,因为41是质数,所以CPI(4)是2。但是,在作为素数达到之前,8需要完成6次,因此CPI(8)为。18, 81, 28, 82, 38, 83836 给定输入数字,您的任务是编写将输出此Composite-Prime索引的代码。 输入值 一个整数y,使得y在Ç,通过函数的参数,STDIN或等效输入。 为了进行计算,您可以假设y将适合通常的整数范围(例如,假设2 31 -1为上限)。 y不在C中的行为是不确定的。 输出量 将所得复合总理指数,如上所述计算,输出到STDOUT或等效,但有两个例外: 如果最后一个排列(即附加9到y)是导致质数的排列,则输出-1。下面扩展了一个示例y=14。 如果没有置换(即G(x,y)是所有C的子集1 <= x <= 9),则输出0。下面扩展了一个示例y=20。 例子 y -> …

13
直方定位
欢迎来到我的第一个高尔夫挑战赛!:)让我们跳进去吧。 挑战: 给定两个浮点向量,O(原点)和T(目标),您必须创建一个程序以将值L和R打印到STDOUT。 O是正方形的一个角 T是正方形的一个角,位于O的对面 L是2D点(角),表示不完整正方形的另一个点 R是与L相反的2D点(角) 规则 O和T的值必须从STDIN中读取(请参见示例输入)。 同样,必须将L和R的值打印到STDOUT。 计分和奖金 计算程序的字节数。 如果您的程序绘制的线在O到L到T到R之间连接,请从字节数中减去15个字节。 例子 第一行涵盖输入(O的第一个方括号和T的下一个括号),其他行代表预期的输出。 [0,0] [3,3]预期值:[0,3] [3,0] [0,0] [-2,-2]预期值:[-2,0] [0,-2] [1,-1] [4,2]预期:[1,2] [4,-1] [0,-1] [0,1]预期值:[-1,0] [1,0] 注意:输入和输出可以是浮点! 重要信息! 值O和T可以采用任何格式,只要它们来自STDIN(例如,在[]或()...之内),请使用所需的任何格式。 L和R可以任何顺序打印。 请记住:连接(O-> L-> T-> R-> O)时,每一侧的长度必须相同! 获奖 这是代码高尔夫球,因此最少的字节答案会获胜! 优胜者答案将在2015年11月15日星期日(芬兰时间)接受(如果我没记错的话,该日期写成美国2015年11月15日的样子,请不要感到困惑)。 打高尔夫球快乐!

7
猜谜游戏
我喜欢玩一款游戏。它发生在有限大小的网格上(但像球体一样包裹着)。在该网格上,选择一个随机(仅整数)点。然后,我(即用户)被提示输入坐标。如果我的输入与随机点完全匹配,则会被告知我赢了。否则,系统会告诉我输入和随机点之间的逐点距离。例如,如果我猜测(2,2)随机点位于(4,3),则距离将为sqrt[(3-2)^2 + (4-2)^2] = sqrt[5]。 游戏继续进行,直到玩家到达该点的正确位置为止。 目标创建上述游戏的功能版本。为此,您必须创建一个完整的程序。这是您的程序应该执行的操作: 请求两个输入:板的高度和宽度。原点在面板的左上方。这些输入不会超过1024。 在该板上选择一个随机点;这将是要猜测的重点。 接受模拟转弯的输入。输入将是一对以空格分隔的整数或两个独立的整数输入。响应此输入,程序将执行以下两项操作之一:如果输入匹配所选的随机点,则输出一条消息,指示用户的胜利。我建议“你赢了!”。否则,输出用户输入点和随机点之间的距离。 无论哪种情况,都必须增加转计数器。 一旦用户取得胜利,则显示用户转过的匝数。然后程序退出。 奖金 奖金按照出现在此列表中的顺序应用 -150字节(如果您的程序采用一个输入整数D来描述游戏进行的维度)。例如,如果是D = 3,则创建一个3整数的随机点,3输入整数,然后输出这些点之间的距离。 score < 0如果您提供木板的图形表示(ASCII或图片),则显示-50%(如果为,则为+ 50%),该图形表示用户先前在给定尺寸的网格和转弯计数器上的猜测位置。(如果您获得第一笔奖金,那么此奖金仅适用于2D和1D模式。如果添加3D图形输出,则会获得额外的-50%。) 如果您可以提供一种游戏模式(通过输入在开始时选择;即在给定时0,执行常规游戏模式;在给定时1,执行此游戏模式),则该点为-60字节,其中该点每回合在随机正交方向上移动1个单位 有关包装的更多信息 只有在第三个奖励中,移动点跨越任何边界时,才会发生包装。在这种情况下,移动点会扭曲到相应的点,如下所示: ... ... ..R (move right) R.. ... ... 这种包裹行为不会影响用户的猜测,因为点已更改方向。 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言的最短解决方案列表,b)作为整体排行榜。 为了确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: …
13 code-golf  game 

3
电子配置图
挑战 给定一个元素名称,输出其电子构型。 输入值 输入将是每个元素的全名(范围从氢1到钙20),但有些例外-您应该能够考虑以下输入: Natrium - This is sodium Kalium - This is potassium 请注意,输入“钠”和“钾”必须仍然有效。 首字母将始终大写。 输出量 您可以参考该网页以获取有关如何生成电子组态图的指导。 下表显示了每个壳中的最大电子数: 第一壳 -2个电子 第二壳 -8个电子 第三弹 -8个电子 第四层壳 -14个电子(尽管此壳中需要的最大电子数为2) 电子配置的示例输出如下: 在图的中心必须是元素的一到两个字母符号。 点或十字都可以使用,它们的放置位置无关紧要。 输出不必完全像这样,但必须是ASCII图形。它不能以一形式2.8.8.1或其他任何形式。 圈不是必须的 因此,禁止访问元素周期表或生成图表或电子配置的内置函数。 获奖 以字节为单位的最短程序获胜。

1
这是double +标头!
有关 展览会 在赢得SO抽奖后,您本可以跻身世界之巅,而且您已经做到了!抽奖活动已经进行了一年,现在,您是被选中进入SO堡垒的一百名程序员之一。最后,等待结束了。今天是您要去的日子-[混淆的文本继续]。 哎呀 对不起,不该告诉。 无论如何,您终于到达一个穿着黑色西装的刻有坚忍面孔的男人,上面刻有一个微小的SO标志。他对你皱眉。他说:“其他人已经在里面了。” “很快。” 你冲进去,有点害怕。到底发生了什么?SO怎么了?在内部,您观察到其他99位程序员正专心盯着他们的屏幕打字。您坐在剩下的座位上,并收到以下消息: 您好,程序员!看来我们遇到了问题;SO已经被渗透,我们不知道是谁。(就我个人而言,我怀疑它是Pyth或CJam程序员,但是,嘿。)但是,所有受到损害的是Markdown编辑器。好吧,实际上,这很多很多,但这就是您的用武之地。我希望您创建一个程序(或函数,我们并不挑剔),该程序将解释降价文件并将其转换为新的“ SO Beautifier-Arity -Decomposer”(又称“ SOBAD”)格式。您必须以最短的字节数执行此操作-我们在低速运行,直到解决此黑客问题为止。感谢您的宝贵时间,祝您好运!真诚的,堆栈溢出的创造者 目标给定有效的markdown文件作为提交的输入,请对输入执行以下转换并输出: (当我使用+符号时,我的意思是RegExp“一个或多个先前字符的实例”运算符,而不是文字加号。) 将所有1级标头(# ...或...\n=+)转换为{ ... },...成为ALL CAPS。 将所有2级标头(## ...或...\n-+)转换为{{ ... }},每个单词均大写 将所有3级标题(### ...)转换为小写;也就是说,所有字母(不区分大小写)都以ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ各自的方式映射到。 将所有粗体实例(**...**)转换为...,并...变为ALL CAPS。 将所有斜体实例(_..._)转换为. . .,其中每对字符之间已插入一个空格。 将所有代码实例(`...`)转换为< ... >。 将所有删除线实例(---...---)转换为-.-.-.-,其中-在每对字符之间插入了a 。 变换所有编号列表实例(N. {a}\nN. {b} ...其中N正则表达式匹配[0-9]+)至(1. {a}\n 2. {b}...) 将所有无序列表实例(* ...\n* ......)转换为(o ...\n o ......) 更多细节 …
13 code-golf  string 

4
瑕疵dans monfrançais
要在l'imparfait中共轭动词,需要执行以下步骤: 找到单词的“词干”;这是通过省略-ons单词的与名词相关的形式来实现的。例如,生活乐趣是理性vivons ; -ons从体内去除产量viv-。 根据主题,取茎并添加适当的结尾。这里是结局: je -ais tu -ais il/elle -ait nous -ions vous -iez ils/elles -aient 目的给定一个动词和一个主语,输出该动词相对于主语的不完美形式。输入格式可以是您的语言方便的任何格式。您提交的内容可以是程序,摘要或函数。(请注意,动词不必是真实的动词。) 您可以假设该动词是常规动词,即像avoir这样的项目将被视为-ir动词,而不是不规则动词。您必须量化为不规则的唯一动词是être;它是这样共轭的: j'étais tu étais il/elle était nous étions vous étiez ils/elles étaient 这里是动词变化的-er,-re以及-ir在理性的动词形式 -ER => (e)ons ; e is added after a 'g' -RE => ons -IR => issons 不以此结尾的任何事物都不必处理。 (请注意,如果有je,则与下一个元音合并。例如,出于我们的目的,je acheter …

7
*语言名称*真棒!
用任何一种语言编写程序,该程序可以从stdin读取输入,并将经过稍微修改的输出输出到stdout。程序应从输入和输出中借用一些字符,并尽可能增加一个前缀,*language-name* is awesome!后跟换行符,然后输入剩余的内容。 输入不包含任何大写字符。 如果字符串中不存在语言名称的第一个字符,则仅应换行符。 如果输入中没有换行符,请输出未修改的输入。 借用哪个可用字符都没有关系。 我在写时\n用作换行符(0x0a),以节省空间。真正的程序应该只关心真正的换行符,而不是\n字符串。 示例:python。 输入:abcdefghijklmnopqrstuvwxyz\n0123456789 输出:python\nabcdefgijklmqrsuvwxz0123456789 由于输入没有空格,所以即使下一个单词有足够的字符,我们也无法继续is。 示例:C. 输入:i don't see anything! 输出:i don't see anything! 在字符串中找不到C,因此无法进行修改。另外,不存在换行符。 示例:C ++。 输入:i don't\nsee anything! 输出:\ni don'tsee anything! 在字符串中找不到C,因此无法进行修改。 示例:Obj-C。 输入:objectively, clojure is amazing.\nq.e.d. 输出:obj\nectively, clojure is amazing.q.e.d. 输入包含足以写的字符,obj但-缺少。 源代码的字节数减去语言名称的字节数(如果可能)是utf-8编码的分数;最低的胜利!
13 code-golf 

15
找出两点之间的角度
给定两个点A和B,求AO出线BO与点之间的夹角,O其中点O为((0,0))。另外,取决于点的位置,角度可以为正或负(请参见示例)。输入将是点A和B,并且可以任何方便的形式给出。输出将是以度为单位的角度(但如果AO绕原点逆时针旋转则为正,如果顺时针旋转BO则为负)。如果角度为180度,则可能会返回负或正输出。同样,角度可以是相同角度(90 deg等于-270 deg)的正或负形式。例子: 输入:A(5,5) B(5,-5)输出:-90(AO旋转-90度得到BO)。 输入:A(5,-5) B(5,5)输出:90(AO旋转90度得到BO)。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

3
订单操作
介绍 在童年时期,当您认为自己已经掌握了加法和乘法运算时,就会出现一个观点,然后有人来告诉您: a * b + c =(a * b)+ c!= a *(b + c), 而且它不像您先前所讲的那样简单或线性。您了解到存在一种称为操作顺序的事物。这是保持某种程度的一致性和表达式的一种非常重要的方法,而不会让括号妨碍所有内容。 一般故事情节 有一天,你醒来时在街上惊慌失措。一个以“ 2560 ” 为名的极端主义团体(“反对行动组织”的简称,带有诡异的六角形扭曲)已经使用了邪恶的方法来控制世界上所有的核武器。他们束缚着整个星球的人质,他们有一个简单的要求:逆转公认的行动顺序或铲除面孔(括号是他们的首要任务)。新系统称为PSADME(括号,减法/加法,除法/乘法,指数),表达式从右到左求值: a - b - c = a - (b - c) = a + c - b 几天过去了,过渡正在进行中。在数学家和物理学家都忙于重写方程式的同时,计算机科学家面临着改变计算机解释数学表达式的方式的任务。您属于一个秘密的反叛程序设计小组,该小组旨在给新的全球霸主造成尽可能多的折磨-偶然地,您被The 2560随机选中,并负责制定基准计算程序。 你的任务 编写一个程序(或函数),将一个(数值)数学表达式作为输入,使用PSADME作为运算顺序来计算该表达式并输出结果。表达式应从右到左求值,因此1 − 3 + 4 = 1 − 7 …
13 code-golf 

1
鲍曼鲍勃!
鲍曼鲍勃 o /( )\ This is Bob. L L Bob wants to be an archer. ############# . / \ <--- bow So he bought himself a (c -)-> <--- arrow nice longbow and is about ( )/ <--- highly focused Bob shoot at a target. L L ############# ___________________________________________________________________________________________ sky …

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.