Questions tagged «code-golf»

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

1
给我理发!
这是我的头: \ /-- -| / -\ | | | \ \ \ \ | --\ | \ | | / |--| / / | /|- //--| / | | | || //\ | | \ /| // \ | 它正好由八根头发组成。我的头发太长了。请把每根绞线切成我指定的长度。 输入值 此部分的主要吸引力是实际的头发。这是懒惰的图形化,彩色编码的表示形式以及动画: 这是一组头发的完整规格: 每根头发,我们称之为股,将被做出来的的/,\,|,和-ASCII字符,从此被称为原子。 整个听音头(所有线段的总和)将是c逐行的r,其中c≥1和r≥2。 每条线将... 从头的最后一行开始(行r-1)。 具有长度l,其中l≥2。 可以使用以下方法解析子线: 从链的底部开始。这将是一个/,|或\原子,其中我们将调用根。(从左到右,按根顺序对链进行解析。) …

1
你能把点连接起来吗?
这项挑战基于Flow Free。可以在这里找到在线版本:http : //www.moh97.us/ 您将得到一个谜题,1如果该谜题可以解决,0则必须返回。 为了解决难题,玩家必须创建一条路径,以使用每个空正方形恰好一次连接每对数字。 传递正方形的尺寸,然后传递每个点的x,y,c(其中c是代表颜色的数字)。例如: 如果5,5 0,0,0 3,0,1 1,1,2 1,2,2 4,2,1 4,4,0传递给您,则表示: 0..1. .2... .2..1 ....0 并应返回1。 这里还有一些测试问题: 5,2 2,0,1 0,1,2 4,1,2 代表: ..1.. 2...2 并且是不可解的,因为只有1 1。 4,2 0,0,0 3,0,0 0,1,0 3,1,0 代表: 0..0 0..0 并且不可解决,因为它包含超过2 0s的时间。 8,6 0,0,1 7,5,1 代表: 1....... ........ ........ ........ ........ .......1 并且无法解决(因为您不能使用每个正方形)。 …

4
三角战舰(计算几何问题)
你是一艘战舰的船长。工程部门今年一直在偷工减料,因此您所乘坐的船采用简单三角形的形状。 您走到甲板上享受海风……虽然时间不长。敌人向您开火!—但是会击中镜头吗? 输入值 您可以为此挑战编写函数或完整程序。 您的程序将使用11个整数,其中十个是成对的: 前三对整数(x 1,y 1),(x 2,y 2),(x 3,y 3)将指定您的飞船的顶点。形成的三角形将具有非零面积。 下一对整数(e x,e y)指定敌人的大炮的位置。敌方加农炮永远不会躺在您的飞船上或飞船的边界内。* 之后的对(a x,a y)指定了敌人的瞄准目标。这将不同于(e x,e y)。 最后的正整数R指定敌人的射程 *如果您甚至没有注意到发生的事情,您将是一个可怕的队长! 输出量 如果将要击中战列舰,则必须打印/返回真实值(例如,true,1),否则必须打印/返回虚假值(例如,false,0)。 什么是热门? 敌人的射击是从(e x,e y)开始沿(a x,a y)的长度为R的直线段。如果此线段与三角形战舰内部的任何部分重叠,则视为命中。否则,它不会受到打击。 沿三角形边界或仅达到三角形边界的镜头不算是命中。 例子 0 0 0 1 1 0 1 1 0 0 2 击中:敌人已从您的船中央射中了! 2 0 0 2 4 4 …

6
电子配置
电子配置 您的任务是接受元素的原子序数作为输入,并输出其电子构型(例如2,8,8,2钙)。 输入值 原子序数从1到118。您可以假设输入有效。原子不带电(它的电子与质子一样多)。您可能不希望输入存储在变量中,因此必须编写完整的程序。 输出量 每个非空电子壳中的电子数。我会对输出格式很宽容;以下所有条件都是可以接受的,即您可以使用任何标点符号或空格来分隔数字,并且可以使用任何类型的方括号。请指定使用哪个。 2,8,8,2 2.8.8.2 2, 8, 8, 2, [2,8,8,2] 2 8 8 2 ([2 [8]] [8] 2) 电子如何工作 在原子中,电子有序进入“壳”,即能级。每个壳都有一定的容量,即它能够容纳的最大电子数。贝壳从内向外填充,但不均匀。根据此消息来源,您的任务是确定给定原子序数,每个壳中有多少个电子。 直至并包括钙(原子序数为20),壳均匀地填充。内壳首先填充至容量2,第二至8,然后第三至8,最后至2。钙的电子构型为2,8,8,2。 补钙后,事情变得复杂了。进一步的电子进入第三个壳,而不是最后一个。更糟的是,钒为(23)2,8,11,2,而铬(24)为2,8,13,1和锰(25)为2,8,13,2。 但是,存在一些一致的模式:稀有气体及其之前的七个元素将始终使外壳中的电子数量从1增加到8。例如: 金(79): 2,8,18,32,18,1 汞(80): 2,8,18,32,18,2 ... (85): 2,8,18,32,18,7 (86): 2,8,18,32,18,8 规则 禁止出现标准漏洞。 允许在此挑战之前存在的图书馆。 禁止任何专门处理原子,分子或化学的内置或库功能。 以字节为单位的最低代码长度为准。 在链接的源中,元素103-118的配置如所预测的那样用(?)标记,并且元素太不稳定而无法检查。对于这个挑战,假设它们是正确的。 您可以对部分或全部数据进行硬编码。 [新规则]如果您在文件中使用控制字符,则请提供文件的base64或xxd转储(许多答案似乎正在这样做) 获胜者:丹尼斯的CJam答案为80字节!

14
检查数字是否为连续整数的乘积
一些数字,例如:6、12、20、30、42、56、60、90、120等,可以表示为连续整数的乘积,如下所示。 6 = 2 * 3 12 = 3 * 4 30 = 5 * 6 60 = 3 * 4 * 5 90 = 9 * 10 120 = 4 * 5 * 6 编写一个程序或函数,输出连续的整数列表,其乘积等于指定的数字。 不适合此逻辑的数字示例为: 99 = 9 * 11 (Product of non-consecutive numbers) 121 = 11 * …
18 code-golf 

13
一个坏的三元运算符应该得到另一个
今天的每日WTF引用以下代码行... FailSafe==0?'No technical alarms':((FailSafe&1)!=0&&(FailSafe&2)!=0&&(FailSafe&4)!=0&&(FailSafe&8)!=0?'Detection zones staying in a given state; Bad visibility; Initialization; Bad configuration':((FailSafe&1)!=0&&(FailSafe&2)!=0&&(FailSafe&4)!=0?'Detection zones staying in a given state; Bad visibility; Initialization': ((FailSafe&1)!=0&&(FailSafe&2)!=0&&(FailSafe&8)!=0?'Detection zones staying in a given state; Bad visibility; Bad configuration':((FailSafe&1)!=0&&(FailSafe&4)!=0&& (FailSafe&8)!=0?'Detection zones staying in a given state; Initialization; Bad configuration':((FailSafe&2)!=0&&(FailSafe&4)!=0&&(FailSafe&8)!=0?'Bad visibility; Initialization; Bad configuration':((FailSafe&1)!=0&&(FailSafe&2)!=0?'Detection zones …
18 code-golf 

8
一字母互换
网络上最大的论坛postpost ++决定制作一个新的论坛游戏。在此游戏中,目标是发布单词,但是单词必须添加,删除或更改一个字母。您的老板希望您编写一个程序来获取单词,并使用UNIX词典,因为您在一家拥有更智能论坛和更智能论坛游戏的公司工作,并想破坏竞争(嘿,这是您的老板,不要与他讨论,无论如何您都会从工作中获得很多现金)。 您的程序将获得两个参数,单词和字典。由于管理程序的用户(是的,用户,您的公司没有资源来运行机器人)并不完美,因此您应该对两种情况都进行规范化处理。词典中的单词可能具有ASCII字母(大写和小写,但在比较时应将其忽略),破折号,撇号和中间的非连续空格。它们不能超过78个字符。您必须输出游戏中可以接受的单词列表,以打破手动思考单词的人们的乐趣。 这是您期望的程序的示例,检查与相似的词golf。 > ./similar golf /usr/share/dict/words Goff Wolf gold golfs goof gulf wolf 的/usr/share/dict/words是单词的列表,每个后换行符。例如,您可以使用fgets()轻松阅读该内容。 您工作的公司没有很多打孔卡(是的,这是2014年,他们仍然使用打孔卡),所以请不要浪费它们。编写尽可能短的程序。哦,您被要求不要使用Levenshtein距离的内置或外部实现或任何类似算法。关于“此处未发明”或显然是供应商插入该语言的后门的东西(您没有这些的证明,但不与老板讨论)。因此,如果您需要距离,则必须自己实现。 您可以自由使用任何语言。即使有了打孔卡,该公司也可以使用最现代的编程语言,例如Cobol Ruby或Haskell或任何您想要的东西。他们甚至拥有GolfScript,如果您认为它对字符串操作很有用(我不知道,也许...)。 获胜者会从我那里获得15个声誉点,并可能从社区中获得许多其他积分。其他好的答案将获得10分,社区也将获得分。您听说积分不值钱,但是很有可能在2050年取代美元。但是,这还没有得到证实,但是无论如何要获得积分是一个好主意。
18 code-golf  string 

30
返回数字的翻转版本
当数字显示在计算器上时,可以考虑该数字的各种变换是什么样的。例如,在七段显示器上,如下所示显示了2: 当水平翻转时,它看起来像这样: 这样,2的镜像为5。 挑战中的任务是获取一个数字,然后返回作为其镜像的数字(如果可能)。如果其镜像看起来不像数字,则返回旋转180度的数字(如果可能)。如果都不是,则返回-1。 这是程序需要处理的输入和输出的完整列表: Input Output 0 0 1 -1 2 5 3 -1 4 -1 5 2 6 9 7 -1 8 8 9 6 作为代码高尔夫球挑战,最短的代码胜出!
18 code-golf  number 

15
编码高尔夫ASCII艺术的简单方法!
任务: 在这个网站上,有很多答案都被安排在ascii艺术中,例如这个。通常,这种安排是手动完成的,但是程序对此没有帮助吗?:) 您的程序将接受3个输入: 代码,作为一行 模式中的行数(如有必要,可以省略) 模式本身,如*s或其他字符 规则: 您必须编写一个从stdin读取的程序(而不是函数) 文本每行从左到右放置 如果没有足够的文字填充模式,请.在剩余的空格中输入s 如果文本太多,无法填充图案,请在输出后将其打印出来 code-golf,所以最短的代码(以字节为单位)获胜 样品运行: 输入(精确拟合测试): qwertyuiopasdfghjklzxcvbnm 4 ***** * *** * * * * * * * * ***** * *** 输出: qwert y uio p a s d f g h j klzxc v bnm 输入(额外字符测试): qwertyuiopasdfghjklzxcvbnm12345 4 ***** * …

4
计算实际数字
定义 正整数n是一个实际数字(OEIS序列A005153),前提是所有较小的正整数都可以表示为的不同除数之和n。 例如,18是一个实际数字:其除数为1、2、3、6、9和18,小于18的其他正整数可以形成如下: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

30
添加char值的计算器
任务 构建一个计算器,该计算器从文件,stdin或其他任何文件中获取任何字符串,并将所有char值加起来。 例 Input Hello World! Output 1085 规则 计算器仅需要接受ASCII编码。 最短的代码获胜。 笔记 关于m.buettner的评论,我需要说,我没有想到多字节部分。 所以我也把它当作奖励。 计算器应按书面形式运行,因此无需在编译或解释之前进行修改。 奖金 多亏了Synthetica,这是另外一项奖励, 当您使用其代码赢得输入时,其输出最低的程序将获得一颗星。 我不想完全修改它。 如果您额外写它以输出UTF-8中的(正确)值,则会得到一个星号。 在我的笔记本电脑上执行最快的代码(联想Yoga 13 Intel Core i5 3317U 1.7Ghz,8GB RAM,128GB SSD,Intel HD 4000,Windows 8)获得了好评。 网络代码将首先在带有轮轮的 IE11下运行,然后在带有SpiderMonkey的 FireFox 29.0.1中运行 Linux代码将在具有Raspbian的Raspberry Pi上运行。 测试字符串是这样的: q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!( 玩得开心编码:) 奖金计分 我计划在这个星期六进行评分,因此07.06.14,该日期之后的所有答案都不会获得加分;) 您可以在此处下载我将用于测试的代码,以方便进行分叉和改进:) 由于奖金很少更新,我的笔记本电脑部分坏了,所以我大概在下个周末这样做,对此我真的很抱歉:(
18 code-golf 

6
创建一个西蒙克隆![关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 去年关闭。 场景:编程时,您会突然怀念80年代和俗气的游戏。 要求:为游戏Simon制作一个GUI程序(文本可能不起作用)。输入可以单击,也可以按一个键。您应将屏幕分为4个区域:黄色,蓝色,红色,绿色。游戏开始时,随机颜色会亮起,然后将其激活。然后,两个指示灯点亮,一个接一个,接着您需要按顺序激活它们,依此类推。当您按错误的颜色时,游戏结束。 奖金: 如果包含声音,则为-100(按每个区域时以及游戏显示颜色时播放的音符不同) -25(如果您包括得分计数器)。
18 code-golf  game 

11
崩溃IRB(交互式Ruby)
Ruby带有内置的REPL,非常方便。 您面临的挑战是以最少的代码将其崩溃! “崩溃”的定义是“使其意外退出”。这意味着exit,quit,abort,irb_exit,irb_quit,等。等 不是有效的答案。 此外,您可能不会对系统的任何其他部分造成任何副作用。例如,`rm -rf /`也无效。 任何1.9.3或更高版本均有效。如果您的代码仅适用于特定版本的Ruby,则可以在答案中进行指定。 最后的限制是您不能依赖任何宝石。 这是代码高尔夫球,因此使IRB崩溃的最短代码将获胜!
18 code-golf  ruby 

1
创建一个C预处理程序
目的是为C语言创建一个预处理器,以您喜欢的语言在源代码大小(以字节为单位)方面尽可能地小。它的输入将是C源文件,其输出将是经过预处理的源代码。 它需要处理的项目为:注释删除(行/块),#include指令(通过在相对路径中打开文件并在需要的位置替换文本),#define,#undef,#if, #elif,#else,#endif,#ifdef,#ifndef和define()。其他C预处理程序指令,例如#pragmas或#errors,可以忽略。 无需在#if指令中计算算术表达式或比较运算符,我们假设该表达式只要包含非零的整数(它的主要用途将用于define()指令),就将计算为true。可能的输入和输出示例如下(为了更好的显示,输出文件中可能的多余空格被剪裁了,不需要您的代码这样做)。能够正确处理以下示例的程序将被认为是足够的。 ----Input file: foo.c (main file being preprocessed) #include "bar.h" // Line may or may not exist #ifdef NEEDS_BAZZER #include "baz.h" #endif // NEEDS_BAZZER #ifdef _BAZ_H_ int main(int argc, char ** argv) { /* Main function. In case that bar.h defined NEEDS_BAZ as true, we call baz.h's …
18 code-golf  string  c 

1
QR Code…以及所有这些Jazz!
这将是相对挑战性的代码高尔夫挑战。 输入:任何URL,都必须附加协议,例如http://codegolf.stackexchange.com(这将是我们的测试用例) 输出:生成的表示此URL的QR码,当被智能设备扫描时,它将带您进入智能设备浏览器中的URL。 本高尔夫规则 像往常一样,最小的代码胜出。 没有外部Web资源,库或插件可以为您生成代码。您的代码必须计算QR码图像。 输出可以由图像表示,可以由HTML5 / CSS3生成,甚至可以使用适当的Unicode块生成,或者如果平台的ASCII可用,则可以通过可形成QR码的ASCII字符来显示输出(最后一个针对Commodore 64 Basic, Amiga QBasic,Amstrad Basic等用户),但必须生成QR码输出,以便我可以扫描该代码。 输入代码后必须带有生成的输出,或者是执行代码后输出的屏幕截图,或者是显示输出的链接(以最适合的情况为准) 您将使用URL“ http://codegolf.stackexchange.com ” 测试您的代码,并根据规则3至4报告输出。 您还将使用您选择的URL测试代码,并根据规则3至4报告输出。 参考文献: 1)http://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders 2)http://www.pclviewer.com/rs2/calculator.html 3)http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction 4)http://en.wikipedia.org/wiki/QR_code 5)http://www.qrstuff.com/以获得灵感...;)

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.