Questions tagged «code-golf»

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

8
Code Golf图像下载器
在许多图像处理挑战中,帖子中包含图像,必须将其保存到文件中才能处理问题。这是一个特别繁琐的手动任务。我们程序员不必受累。您的任务是自动下载Code Golf.SE问题中包含的所有图像。 规则 您的程序可能会连接到的任何部分stackexchange.com,但可能不会连接到任何其他域,但图像的位置除外(即,不必使用URL缩短器)。 在命令行或stdin上输入整数N作为输入。 该URL 保证是指向Code Golf问题的有效链接。http://codegolf.stackexchange.com/questions/N 问题N正文中显示的每个图像都必须保存到本地计算机上的文件中。可以使用以下任一位置: 当前目录 用户输入的目录 您的程序不得在问题正文中保存图像以外的文件(例如,用户头像或答案中包含的图像)。 图像必须以与原始文件相同的文件扩展名保存。 这是一个代码问题 -编写尽可能短的程序。 答案的有效性标准 存在多种可能的边缘情况,其中包含多个具有相同名称的图像,与HTML元素具有相同名称的文本等。仅当在2015年1月10日之前发布的某个问题的某个修订版本上显示该答案失败时,答案才会失效。

5
用二次收敛计算π
编写一个函数或完整的程序,该程序需要一个正数n并执行n迭代算法的步骤,以计算具有二次收敛性的π(即,每次迭代将其精确数字的数量大约加倍),然后返回或打印2 n个正确的数字(包括开始3)。Gauss-Legendre算法就是这样一种算法,但是如果您愿意,可以自由使用其他算法。 例子: 输入1→输出3.1 输入2→输出3.141 输入5→输出3.1415926535897932384626433832795 要求: 该算法的每次迭代都必须执行恒定数量的基本运算,例如加,减,乘,除,乘方和根(具有整数指数/度)-对“大”整数/十进制数的每个此类运算都被计为偶数如果它在内部涉及一个或多个循环。需要明确的是,涉及复数的三角函数和幂不是基本运算。 期望该算法具有初始化步骤,该初始化步骤还必须具有恒定数量的操作。 如果算法需要再进行1或2次迭代才能获得2 n个正确的数字,则您最多可以执行n+2迭代,而不仅仅是执行n。 如果还不够清晰,请在正确的2 n位数字之后,程序不得再打印其他任何内容(例如,更正确的数字,错误的数字或莎士比亚的完整著作)。 您的程序必须支持n从1到至少20的值。 n在现代计算机上,= 20的程序花费的时间不应超过一个小时(这不是硬性规定,但是请尽量使其合理)。 在算法的初始化和第一次迭代之后,程序不得获得超过20个准确的数字。 该程序必须可使用免费软件在Linux中运行。 源代码只能使用ASCII字符。 得分: 简单明了的代码高尔夫,最短的代码获胜。 优胜者: 赢家是Digital Trauma,我终于在n = 20上完成了他的代码(只是在开玩笑)。Primo因其非常快速的python解决方案和不同的算法而获得了特别奖:)
20 code-golf  pi 

5
运行时返回最接近当前时间的时钟表情符号
if/else每30分钟我可能会有一个很大的状况,但我正在寻找更多基于数学和Unicode的解决方案。 这是时钟表情符号:🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧。如果您缺少适当的渲染支持,则可以在下面(它们的顺序不相同,它们看上去可能与您看到的不同)或在Unicode图表第4页上看到它们。它们对应于Unicode代码点U + 1F550(时钟) FACE ONE OCLOCK)(FACE ONE OCLOCK)至U + 1F567(CLOCK FACE TWELVE-THIRTY)。 您面临的挑战是编写一个程序,将与当前系统时间最接近的钟面表情符号输出到STDOUT(应该将AM和PM视为相同)。例如,如果时间t为[5:15 <t <5:45),则将显示5:30表情符号🕠。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。您可能想要包括一种轻松指定测试代码时间的方法。 边缘测试用例 Time Output Written ---------------------- 11:48 🕛 12:00 3:15 🕞 3:30 9:45 🕙 10:00
20 code-golf  date 

8
将数字转换为二进制…但是也可以使用二进制
根据此数字亲密视频中提到的“二进制但带二进制”表示法,编写一个函数,该函数将单个数字作为输入并在允许二进制的“二进制”系统中输出该数字的所有变体。 规则 代码只能是函数/方法,不能是完整程序 输入是作为唯一参数传递给函数的整数 输出是输入数字的所有有效变体,转换为“二进制但带二进制”表示法 输出是函数的返回值,但可以使用任何方便的格式,只要它很明显即可(例如3个整数,3个字符串,逗号/空格分隔的字符串,整数数组等),顺序不重要 万一一种语言碰巧包含一个内置函数来实现结果,这种情况不太可能发生,这是不允许的 以字节为单位的最短代码是赢家 输出说明 例如,如果传递了数字9,则可以将其转换为1001,将其转换为二进制,但如果2在每个位置都允许s,则也可以将其写为201(ie 2*4 + 0*2 + 1*1)或121(ie 1*4 + 2*2 + 1*1),如下表所示: +----+----+----+----+ | 8s | 4s | 2s | 1s | +----+----+----+----+ | 1 | 0 | 0 | 1 | | 0 | 2 | 0 | 1 | | …

1
在有限域或整数上分解多项式
在不使用任何内置分解因数/多项式函数的情况下,将多项式完全分解为整数或有限域的不可约式。 输入值 您的程序/函数将收到一些质数(或零)n作为输入。场/环是顺序(即的有限域Z/nZ),或者只是Z如果n是0。如果n不是0或素数,则您的程序可能会失败。多项式将在中F[x]。 您的程序/函数还将接收多项式作为输入。 输入有一些灵活性,请确保指定打算接收输入的方式。例如,可以将多项式作为系数列表输入,或者以大多数人期望的形式(例如:)50x^3 + x^2或其他一些合理的形式输入。或者输入场/环的格式也可以不同。 输出量 您的程序/函数将完全输出因式分解的多项式。您可以扩展多个根(即(x + 1)(x + 1)代替(x + 1)^2)。您可以删除二进制运算符之间的空格。您可以将并置替换为*。您可以在奇怪的地方插入空格。您可以将因子重新排序为所需的任何顺序。这个x词可能只是(x)。x可以写成x^1; 然而,常数项可能不会有x^0。+允许有多余的迹象。您可能没有一个0前置词,必须将其排除在外。每个因素的前置项必须为正,负号必须在外部。 测试用例,您的程序应该能够在合理的时间(例如,<= 2小时)内为每一个产生输出: 输入: 2, x^3 + x^2 + x + 1 输出: (x + 1)^3 输入: 0, x^3 + x^2 + x + 1 输出: (x + 1)(x^2 + 1) 输入: 0, 6x^4 – …

4
用位异或分解没有数字0、3、7的数字
挑战 编写一个采用正十进制数的函数或程序,将其称为A,然后输出两个正数B和C,这样: A == B bitxor C B和C的十进制表示形式不得包含数字0、3或7。 例子 >>> decompose(3) 1, 2 >>> decompose(7) 1, 6 >>> decompose(718) 121, 695 >>> decompose(99997) 2, 99999 >>> decompose(4294967296) 4294968218, 922 >>> decompose(5296080632396965608312971217160142474083606142654386510789497504098664630388377556711796340247136376) 6291484486961499292662848846261496489294168969458648464915998254691295448225881546425551225669515922, 1191982455588299219648819556299554251659915414942295896926425126251962564256469862862114191986258666 由于分解不是唯一的,因此您的函数/程序无需输出与提供的示例完全相同的结果。 非常详细的规则 提交应采用完整功能或程序的形式。import陈述确实计入最终分数。 您可以假设输入A始终至少包含数字0、3或7。 您可能会认为分解始终存在。 您可以使用BigInt(如果它们是该语言的标准库的一部分),或者可以通过该语言的法律包管理器进行安装。 该功能应该很快。输入100位数字时,在相当现代的计算机上运行应该不超过20秒,而输入10位数字时,应该不超过2秒。 功能/程序应支持至少100位数的输入。 如果该功能/程序仅支持不超过N <100位的整数,则最终得分将受到+ 10×(100 / N-1)字节的惩罚。这是为了鼓励高尔夫球手支持更大范围的数字,即使输入可能很冗长。 有上的呈现没有限制,只要它们是显然十进制表示的输入/输出。 如果内置整数类型不足,则该函数可能会输入和输出字符串/ BigInts。 输入可以来自功能参数,命令行参数或STDIN。 …
20 code-golf  number 

30
震动探针的死亡:很多骰子
在网络漫画《达斯与机器人》(Darths&Droids)中,皮特(Pete)在该漫画所基于的虚构角色扮演活动中扮演R2-D2,曾声称(警告:链接的漫画中潜在的破坏者),他与帕纳斯塔科里亚(Phanastacoria)的失落宝珠一起操纵了他震动探针,他现在可以抛出1048576d4损坏。(通用汽车公司既没有证实也没有否认这一点。)由于应该有明显的理由,几乎没有人会真正有耐心掷出那么多骰子,所以编写一个计算机程序为他掷骰子,并以合理的价格输出掷出的总价值。格式。条目将根据程序大小(最短的程序,字节数,获胜次数),整体语言和每种语言进行排名,并且会中断运行时间。答案可能是完整的程序,也可能是函数定义。 每种语言的分数 腐霉菌 Maltysen-8个字节* Jakube-10个字节 杀伤人员地雷 Alex A-10个字节 贾姆 优化器-11个字节 Ĵ --12个字节** 剪辑10 Ypnypn-12个字节** ķ JohnE-13个字节 Ti-84 BASIC SuperJedi224-17字节* [R MickyT-23个字节 八度/ MATLAB Oebele-24个字节 PARI / GP 查尔斯-25个字节** Wolfram / Mathematica LegionMammal978-27字节 佩尔 Nutki-29个字节 AsciiThenAnsii-34字节 红宝石 Haegin-32字节** ConfusedMr_C-51个字节** 准将 标记-37个字节** 的PHP Ismael Miguel-38个字节 VBA 肖恩·柴郡-40字节** 电源外壳 Nacht-41个字节** Java脚本 拉尔夫·马歇尔-41字节 edc65-54字节(要求并非所有浏览器都提供ES6功能。) …
20 code-golf  random 

21
楼梯挑战
您的工作是重现这件艺术品: _____ | | | | _____| | | | | _____| | | | | _____| | | | | _____| 答案必须重新创建并打印出来。允许使用所有语言,无需直接印刷艺术品,也不需要某种程度的操纵。字节数最少的答案将获胜。 在世界标准时间周四上午6:30左右关闭。 我的朋友是使用Java进行此操作的,最初的内容是显示给我的,他拒绝向我显示源代码,现在我将以其他语言的出色表现使他眼花azz乱。:D 您不能使用任何其他字符 (这样更容易吗?)。 现任排行榜 Pyth -28字节-ISAACG CJam -30字节-Runer112 CJam -32位元组-MartinBüttner 最高投票: C -73个字节-Paul R isaacg凭借与Pyth的楼梯挑战赛获得冠军。在PPCG上提防类似的更多挑战!


12
今晚或本周末重新插上电源
这是我第一次打高尔夫球,所以请告诉我它是否太宽泛或者我缺少任何有关一个好的拼图的信息! 挑战 在安大略省以及世界其他地区,都使用“使用时间”(TOU)定价来计费,该定价会根据您使用电力的时间而有所不同,每千瓦时的成本有所不同。 给定日期和时间,我想知道我处于高峰时段(红色),高峰时段(黄色)还是非高峰时段(绿色)。 输入值 假设以可接受的无时区的ISO 8601日期-时间格式提供输入,且最小精度为小时:(YYYY-MM-DDThh[:mm[:ss]]T为文字)。 例子 2014-09-01T14 2014-09-01T17:30 2014-09-01T17:30:02 输出量 输出应该是一个字符串On,Mid或Off。 规则 最短代码胜出 就此挑战而言,请忽略法定假日 假设在此帖子中找到了信息。将来,安大略省能源部可能会更改使用时间定价的实际规则。 信息 夏季工作日(5月1日至10月31日) 非高峰时间:19h00-07h00 高峰:07h00-11h00和17h00-19h00 高峰:11h00-17h00 冬季工作日(11月1日至4月30日) 非高峰时间:19h00-07h00 高峰:11h00-17h00 高峰:07h00-11h00和17h00-19h00 周末 非高峰:全天
20 code-golf  date 

8
像素艺术,第2集:显示超级马里奥兄弟的地图1-1
最后的挑战(Pixel-art,第1集:展示超级马里奥)只是一次培训……(而您以惊人的方式完成了,谢谢!) 这次,您需要做更多的工作。您必须在NES上显示超级马里奥兄弟的所有第一张全球地图,没有敌人,也没有马里奥。 您的程序或函数必须显示以下图像的所有像素,或产生与其类似的图像文件(BMP,PNG或GIF)。 您的程序不得以任何方式访问互联网。 如果需要,可以缩放输出,如果需要,像素可以是ASCII或HTML元素,只要它们具有正确的颜色即可。 这是您必须遵循的模型: 整个图片:http : //i.stack.imgur.com/2kfVc.png 磁贴集(如果需要):http : //img.ctrlv.in/img/14/10/19/5443f44c7eb78.png 您可以生成自己的磁贴集,该子集或超集。 您可以将tileet用作单独的图像文件,也可以将其包含在代码中(例如,在base64中)。如果是单独的,则将其大小(以字节为单位)添加到您的乐谱中。 具有坐标的地图:http : //goo.gl/c8xJIx或http://img.ctrlv.in/img/14/10/19/544373adc9f64.png 颜色: 天蓝色:#5C94FC 黑色:#000000 粉色:#FCBCB0(用于街区和城堡) 布朗:#C84C0C(用于街区和城堡) 橙色:#FC9838(用于“?”块) 浅绿色:#80D010(用于灌木丛,山脉,旗杆,经线) 深绿色:#00A800(用于灌木丛,山脉,旗杆,经线) 白色:#FCFCFC(云) 浅蓝色:#3CBCFC(云) 最短答案胜出。 编辑:将有两个记分板,一个记分以字节为单位,一个记分以字符为单位。 祝好运! PS:这里有一些注释可以帮助您优化程序: 云,灌木和山脉有重复的图案(每48列) 飞行块仅出现在第4和8行上 地图的每个图块或小精灵最多使用4种颜色(包括蓝色或透明颜色,具体取决于您的观看方式) 灌木丛只是“云顶”,具有不同的调色板 使用相同的16x16px迷你套,可以轻松地形成单,双和三重灌木/乌云。单峰山和三峰山也是如此

1
Fillomino解算器
Fillomino是一个难题,您可以在其中用多氨基酸来填充网格。每个多氨基酸都是一个连续细胞的区域。网格表示显示了多米诺骨覆盖每个细胞的大小。例如,将5在五个连续单元格的每一个中显示pentomino(5)(请参见下文)。相同大小的两个多氨基酸不能共享边界,但可以对角线边界。 对于每一个谜题,你开始与一些已知条件,必须在剩余的细胞填充。一个简单的难题示例和解决方案: 您的任务:给定一个方形拼图,将其解决并输出答案。输入可以通过stdin,单个命令行参数或文本文件进行。输入将以整数形式给出n,每n行后跟n数字行。空单元格将以period(.)的形式给出。对于上面的示例难题,它将是: 5 3..66 5.4.6 .54.6 .1.6. ..312 输出是已解决的难题,n以n数字行给出,输出到控制台或文本文件: 33366 55446 55466 51462 33312 如果拼图无效,则输出0。如果输入格式错误或没有解决方案,则难题可能无效。如果有多个解决方案,则可以输出其中任何一个或全部。 由于每个单元格都由一个数字表示,因此所有谜题都将由多米诺骨牌的大小组成,9且仅在下方。如果没有较大的多氨基酸无法解决,则认为它无效。 有效答案将解决任何给定的难题,而不仅仅是输出测试用例的解决方案。没有外部资源,无论是在线还是本地。如果碰巧是具有内置fillomino解决功能的语言,则不能使用它。简而言之,公平竞争。 测试用例: 输入: 9 ..21.3..5 .5...5..5 .1.44.334 ...53.4.. 2.3.3..5. 1.15.5.15 ..45..1.. .24.53.53 ....2.... 输出(可能的解决方案): 322133315 355445555 315443334 235531444 233135551 141535515 344553155 324553553 321223133 请记住,有些多氨基酸没有给定的数字,有些则不止一个。在给定的数量和多氨基酸之间没有一对一的关系。 分数是标准的代码高尔夫,程序的大小以字节为单位。

1
保护我的墙壁免受这些讨厌的门的侵害
门把手非常好,但是当您打开一扇门时,它总是会使周围的墙壁凹陷。我需要您输入房间的ASCII艺术作品,如下所示: +---------+--X --X --+-----+ | \ \ |\ | \ | | \ \ | \ | \| | X | \ | X | / | | \ X | / | \ / | / | \ / | +---X --+-------X------+-----+ 并输出带有门挡的房间,如下所示: +---------+--X --X --+-----+ | \ . …
20 code-golf 

1
玩杂耍
您的任务是通过完成给定的模板来生成有效的杂耍模式。但是首先,您可能需要知道如何表示这种模式。 Siteswap简介 Siteswap是杂耍模式的既定符号。通过将模式分成节拍来工作。每次跳动时,您的左手和右手交替扔球。每个掷球(即每个节拍)都用一个数字表示,该数字指示下一次何时掷该球-这直接对应于掷球的高度。 让我们看一些例子。在这里查看所有这些动画。 3球级联 最简单的3球图案。每三拍一掷球(交替动手)。写出节拍,如下所示(ASCII行将两个发出相同球的节拍连接起来): Beat 1 2 3 4 5 6 7 8 9 Hand L R L R L R L R L Siteswap 3 3 3 3 3 3 3 3 3 └─┼─┼─┘ │ │ └─┼───┘ │ └─────┘ 请注意,每个L节拍都将扔一个球,然后每个节拍都将其扔出去R.Sitewap模式隐式重复,因此该模式通常表示为333,尽管3也足够了。 441 这是一个sitewap 441稍微复杂一点的示例: Beat 1 2 3 …
20 code-golf 

7
确定在宝石迷阵/第3场比赛中是否存在移动
背景 在“宝石迷阵”和类似的游戏中,玩家必须在8x8的宝石网格中交换任意两个相邻的宝石(没有对角线),以便连续匹配三个相同颜色的宝石。宝石可以水平或垂直匹配。游戏的进行一直持续到没有动作可导致连续三局为止,此时游戏结束了。 任务 目的是编写一个确定“宝石迷阵”游戏是否还没有结束的程序。换句话说,它必须检查是否有可能连续移动至少三个。连续可以有三个以上的宝石,这仍然是有效的举动。 输入值 您的程序必须通过标准输入接受Bejeweled网格的8x8表示形式。七种宝石颜色中的每一种将由1到7的数字表示。每行将包含一行,并且将输入8行,每行包括8位数字。请参阅示例。您可以假设输入将始终遵循此格式,并且永远不会连续包含三个。 输出量 然后,程序必须输出(至标准输出),yes或者no取决于是否存在至少一个有效动作,该动作将导致连续出现三个或更多宝石。您的程序不得输出yes或的单个实例以外的任何内容no。 规则 您的程序不得使用任何外部文件或资源,命令行参数或要求使用特定的文件名。源代码中字节数最少的程序将获胜。 例子 输入: 12314131 13224145 54762673 61716653 61341144 23453774 27645426 75575656 输出: yes 输入: 35261546 76421754 15743271 62135642 35617653 64565476 54427254 15635465 输出: no 有关其他测试案例,请参见下面的MT0答案。
20 code-golf  game  grid 

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.