Questions tagged «code-golf»

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

2
浮点加法,无浮点!
您的任务是用任何一种语言编写一个程序,该程序无需使用任何分数或浮点数学运算即可将两个浮点数加在一起。允许使用整数数学。 格式 数字的格式是包含1和0的字符串,它们表示IEEE 754 32位float的二进制值。例如,数字2.54将由字符串“ 010000000010001010001000111101011100”表示。 目标 您的程序应以上述格式输入两个数字,将它们加在一起,然后以相同格式输出结果。任何语言中最短的答案都将赢得! 规则 绝对不允许使用浮点数,十进制或任何类型的非整数数学函数。 您可以假设输入是干净的(即仅包含1和0)。 您可以假定输入是数字,而不是Inf,-Inf或NaN或次正规量。但是,如果结果大于最大值或小于最小值,则应分别返回Inf和-Inf。异常(异常)结果可能会刷新为0。 您不必正确处理舍入。如果您的结果有些出众,请不要担心。 测验 要测试您的程序,您可以使用此工具在十进制和浮点二进制数之间转换。 1000 + 0.5 = 1000.5 01000100011110100000000000000000 + 00111111000000000000000000000000 = 01000100011110100010000000000000 float.MaxValue + float.MaxValue =无穷大 01111111011111111111111111111111 + 01111111011111111111111111111111 = 01111111100000000000000000000000 321.123 + -123.321 = 197.802 01000011101000001000111110111110 + 11000010111101101010010001011010= 01000011010001011100110101010000 祝好运!

1
建立一个简单的代理
制作最短的代理服务器。 输入/输出规格 客户: 输入:端口号(32位整数)(,)或(空格) URL(请参见测试用例) 输出:URL的html源 服务器: 输入:要侦听的端口(32位整数) 输出:从客户端接收到输入时为REC,在将html源发送给客户端后为OK。 规则 您可以使用解释语言制作完整的程序或功能。 输入通过stdin或作为参数给出。 您的代码仅适用于给定的测试用例(更多是可选的,更少是无效的)。 客户端输出必须与从浏览器“查看源代码”获得的输出相同。 服务器可以在每个已处理的请求之后退出(即不必是持久的/守护程序) (编辑)禁止指定以外的任何其他输入/输出。 测试用例(客户输入) N 1 https://stackoverflow.com/ N 2 http://en.wikipedia.org/wiki/Proxy_server N 3 http://stackexchange.com/search?q=code+golf 其中N i是1到2048之间的随机整数。

5
高尔夫定点组合器
用您选择的语言编写尽可能少的字符的定点组合器。 自由形式(即最短的形式):整个程序,实际功能,代码段 如果您有一个标准库,则可能无法使用 但是,您可能希望从其他高级函数中提取它,而不是从基础上构造它 请包括将其用作演示的递归阶乘或斐波那契。 在这个问题中,自引用是可以接受的,其目的仅仅是将其从递归函数中删除。

3
物理高尔夫:倾斜射击
“而现在,完全不同。” 一个愤怒的小鸟以一个角度β开枪水平的速度ü。地面陡峭,倾斜角度为α。在鸟撞到地面之前找到它行进的水平距离q。 制作一个函数f(α,β,u),该函数返回长度q:鸟在撞到地面之前所经过的水平距离。 约束和注意事项: -90 <α<90。 0 <β<180。 α总是小于β。 0 <= u <10 ^ 9。 假设由于重力g = 10而产生的加速度。 对于α,β,可以使用弧度而不是度。 u的尺寸无关紧要,只要它们与g和q一致即可。 没有空气阻力或任何花哨的东西。 最短的代码胜出。 有关某些方程式,请参见维基百科有关弹丸运动的文章。 样品: f(0, 45, 10) = 10 f(0, 90, 100) = 0 f(26.565, 45, 10) = 5 f(26.565, 135, 10) = 15
9 code-golf  math 

1
为迷宫游戏构建引擎
这是“ 打印迷宫问题” 的后续内容。如果您喜欢这个问题,请添加更多迷宫生成算法;)。 对于此任务,您将必须为一个必须在迷宫中找到宝藏并离开地牢的玩家实现游戏引擎。 引擎首先从标准输入中.读取迷宫,然后在一行中包含(点)命令行中作为参数指定的文件。接下来,将玩家@放置在地图上的随机位置。然后引擎开始通过标准io与播放器进行交互: 从引擎到播放器的命令: continue:游戏未完成。印刷环境,后跟.。玩家由@角色代表。不可观察的细胞用表示?。 finished:游戏结束。打印步骤数,游戏停止。 从播放器到引擎的命令: north:将玩家上移。 south:将玩家下移。 west:向左移动播放器。 east:向右移动播放器。 来自播放器的任何无效命令(例如撞墙)都将被忽略,但仍会计数。您可以自由定义自己喜欢的环境。 点最短的代码。 复杂环境的点(例如打印大区域并替换看不见的单元格?)。 没有不遵守io格式的代码没有意义 范例: 在此示例中,周围环境定义为3x3单元,播放器位于中间。 $ cat maze +-+-+ |#| | | +---+ $ python engine.py maze |# @ --- . east |#| @| --+ . north +-+ |@| | . south |#| @| --+ . …
9 code-golf  maze 

9
将单词分成相等分数的部分
假设A = 1,B = 2 ... Z = 26,并且一个单词的值是这些字母值的总和,则可以将某些单词分为两部分,使它们具有相等的值。 例如,“ wordsplit”可以分为两部分:ordsl wpit,因为o + r + d + s + l = w + p + i + t。 这是我的计算机老师给我们的挑战-显然,这是Lionhead Studios的旧挑战。我已经在Python中解决了该问题,并将很快发布我的答案。 挑战:最短的程序,可以列出所有具有相等分数的拆分。请注意,它仅需为每个字母组列出一个字母-例如,ordsl wpit与rdosl wtip相同。按照它们出现的顺序列出它们会更容易。 奖金: 如果您在两个单词都是有效的英语单词(或字母的某种排列形式)上突出显示对,请使用某种单词列表。(这可以通过在每个方法或其他方法旁边放置一个星号来完成,但要明确说明。) 添加用于删除重复项的选项(这不是默认选项。) 支持两个以上的拆分,例如三个,四个甚至n路拆分。
9 code-golf  word 

15
输出附近的素数
编写一个接受输入(可能是也可能不是素数)的程序,并列出紧随其后的立即质数。 输入示例: 1259 输出示例: 1249 1277 最短的程序获胜。必须在现代台式机上在10秒内执行。输入上限为10,000。

10
填字游戏编号
生成一个程序以正确地编号填字游戏网格。 输入项 输入将是代表填字游戏网格的文件的名称。输入的文件名可以作为参数传递给标准输入,也可以通过硬编码以外的其他常规方式传递。 网格文件格式:文本文件。第一行由两个空格分隔的整数常量M和组成N。在该行之后是M 各行,各行由N从中选择的字符(加上新行)组成[#A-Z ]。这些字符被解释为'#' 指示方块被遮挡,' '拼图中没有已知内容的空心方块以及任何字母是包含该字母的空心方块。 输出量 输出将是一个编号文件,并且可以发送到标准输出,从输入文件名派生名称的文件,用户指定的文件或其他常规目标。 编号文件格式文本文件。以“#”开头的行将被忽略,并可用于注释。所有其他行包含一个制表符分隔三重峰i,m,n其中i表示在网格上要打印的数,m和n表示在它应该被打印的方块的行和列。行数和列数均从1开始。 编号方案 正确编号的网格具有以下属性: 编号从1开始。 没有任何列或正方形的范围是未编号的。(您可以假设问题中将不存在单个字符的答案。) 通过从上到下扫描(从左到右),将按计数顺序遇到数字。(因此,每个水平跨度都在其最左边的正方形处编号,并且每一列都在其最上面的正方形处编号。) 测试输入和预期输出 输入: 5 5 # ## # # # ## # 输出(忽略注释行): 1 1 2 2 1 3 3 2 2 4 2 4 5 2 5 6 3 1 7 3 4 8 …

14
数字,总和,产品
给定20×20的非负整数网格,请找到3×3子网格,其中各个行的总和的乘积达到最大值。讲的公式: 给定3×3子网格 最大化的功能是 每行计算总和,然后将各个总和相乘。 一个例子(只有5×5): 红色突出显示的部分是函数值在整个网格中最大的部分 : (35 + 272 + 167)⋅(163 + 270 + 242)⋅(216 + 68 + 266)= 175972500 输入项 输入在标准输入上给出,由20行组成,每行包含20个数字,并用空格字符(U + 0020)分隔。数字足够小,以至于32位有符号整数足以计算结果。 您可以假定输入将从文件重定向。 输出量 输出是3×3子网格的函数结果,其结果最大。在上面的示例中,应该是 175972500。 样品输入1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 …
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.