编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

17
将数字转换为7段显示模式
给定两个任意数字A,B。将数字B打印为数字LED图案,其中A是刻度。 输入: 1 2320451640799518 输出: _ _ _ _ _ _ _ _ _ _ _ _ _| _| _|| ||_||_ ||_ |_|| | ||_||_||_ ||_| |_ _||_ |_| | _| ||_| ||_| | | | _| ||_| 输入: 2 23 输出: __ __ | | __| __| | | …

8
庞码中最短的
挑战很简单。给出尽可能短的代码,以重现pong的经典2人游戏http://en.wikipedia.org/wiki/Pong。图形和功能级别应尽可能接近此javascript演示http://codeincomplete.com/posts/2011/5/14/javascript_pong/demo.html(但如果没有其他选项,您可以单击左侧的或右下角的帧,fps等信息)。 与往常一样,代码必须以一种自由的语言编写(在两种意义上),并且可以在linux上运行。使用的任何库也必须是免费的,易于使用的,并且不能为比赛目的而编写(并且还没有包含Pong!的工作版本)。

12
用1024个字符组成的Hello World [关闭]
正好1024个字符,不多也不少: 必须打印Hello World。 一定不要使用不必要的空格。 不得使用注释。 投票赞成答案时,评判应该优先考虑创造力和/或幽默而不是简单的混淆。 我最早会选择一个答案是2012年11月11日(星期日)。到目前为止,我已经看到了一些很棒的条目,迫不及待地想看看人们还有什么想法。

6
选择高尔夫语言[关闭]
选择正确的高尔夫语言有哪些技巧?哪些因素影响选择的语言? 以下是一些示例问题类型: 需要I / O解决方案(控制台或文件)的问题 需要解析的问题 需要您将解决方案作为函数定义编写的问题 数学问题 处理质数时出现问题 解决数字难题 执行数值方法 字符串处理 数组处理 棘手的2D阵列问题 计算几何 递归 2D图形 3D图形 音讯 网络/网络 并行处理 不要仅仅因为喜欢而说“ Use GolfScript | J”之类的话。
28 code-golf  tips 

30
转置一页文字
编辑我修改了规则的措词,使一些隐含的内容更加明确。我还强调了一些明显的混淆,并明确定义了制作独立程序而不是函数的选项。 这里的目标是创建一个接受文本文件(或字符串)并对其进行转置的函数,以使行成为列,反之亦然。 例: 我是文字。 转置我。 你可以做到吗? 结果是: 国贸中心 拉 an mn sy 载脂蛋白 OU ts 杂草 o Tm值 .ei .t ? 规则: 您可以假定使用的唯一空格字符是" "并且"\n"在任何行上都没有尾随空格。 您可以假定文件是ASCII。您要使用哪个终端标记(CRLF或LF)。它必须在示例中正确运行,但也应在满足上述假设的任何输入下工作。 您可能必须在没有空格的地方插入空格(如示例中所示),以使列保持一致。 您的结果在任何行上都不能包含尾随空格。 最后的换行符(用于最后一行)是可选的。 它应该是一个功能或一个完整的程序。如果您的函数接受字符串,则它应该以字符串形式返回结果。如果它接受文件名,则返回保存结果的文件名。另外,您还可以编写一个完整的程序,该程序接受来自STDIN的输入并将正确的结果输出到STDOUT。如果这样做,则不得将任何内容输出到STDERR。 最短的程序胜出,但我会赞成我喜欢的任何答案。 根据规则,示例中的输出长度为53或52个字节(对于LF换行符),具体取决于是否包含最终换行符。 注意:这不是特定的要求,但是如果您的函数连续运行两次时与原始函数不同(最终的换行符可能会有所不同,并且文件末尾的任何空行都将被删除),那么您就是可能违反其中一项规则。
28 code-golf  string 

30
回报率1-人气竞赛[关闭]
任务 创建一个返回1的函数/子例程。只要返回1,就可以根据需要进行详细说明。 规则 投票最多的作品将获胜-就像任何知名度竞赛一样。祝好运!

30
打印升序/降序的拱门
我认为“拱形”是描述这种数字模式的最佳方法: 1234567887654321 1234567 7654321 123456 654321 12345 54321 1234 4321 123 321 12 21 1 1 正式定义的每一行都由数字1到9-n,(n-1)*2空格和数字9-n到1组成(其中n是当前行)。 您的任务是使用尽可能最短的代码编写一个小的脚本/程序,该脚本/程序在遵循以下限制的前提下打印上述模式: 您可能没有对整个模式进行硬编码。您最多只能对模式的一行进行硬编码。 您的程序必须在每行末尾打印换行符(\n或的任意组合\r)。 预备,准备,开始!

5
高级计算器
您必须编写一个程序,该程序对将输入高级计算器的字符串进行求值。 程序必须使用stdin接受输入并输出正确答案。对于不具有接受stdin函数的语言,您可以使用这些函数readLine并print处理这些任务。 要求: 不使用任何“评估”功能 可以处理浮点数和负数 至少支持+,-,*,/和^运算符 支持括号和括号以覆盖正常顺序 可以处理在运算符和数字之间包含一个或多个空格的输入 使用标准操作顺序评估输入 测试用例 输入值 10 - 3 + 2 输出量 9 输入值 8 + 6 / 3 - 7 + -5 / 2.5 输出量 1 输入值 4 + [ ( -3 + 5 ) * 3.5 ] ^ 2 - 12 输出量 41
28 code-golf  math 

17
解密Vigenère密文
根据一位密钥,Vigenère密码是一种简单的多字母密码,基本上使用了几种Caesar密码之一。通常,键中的字母表示要使用的移位字母。为此,有一个简单的工具称为维格涅尔广场: 这里的每一行都是一个单独的字母,从键的相应字母开始。然后,这些列用于确定密文字母。解密的工作方式几乎相同,反之亦然。 假设我们要加密字符串CODEGOLF。我们还需要一个钥匙。在这种情况下,密钥应为FOOBAR。当密钥短于明文时,我们通过重复对其进行扩展,因此我们使用的实际密钥为FOOBARFO。现在,我们查找键的第一个字母,即F找到字母。它始于,也许不足为奇F。现在,我们找到带有纯文本首字母的列,结果字母为H。对于第二个字母,我们将其O作为关键字母和纯文本字母,结果为C。继续这样下去,我们终于得到了HCRFGFQT。 任务 现在,您的任务是解密给定密钥的消息。但是,由于我们已经不适合16世纪,并且拥有计算机,因此我们至少应该支持稍大一些的字母: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 Vigenère广场的结构仍然非常相似,并且密码仍然以相同的方式工作。只是有点...笨拙地在这里给出。 输入值 输入在标准输入上以两条单独的文本行给出,每行以换行符终止。第一行包含密钥,第二行包含密文。 输出量 一行,包含已解密的消息。 获奖条件 由于有时将加密视为一种武器,因此代码应简短易行。越短越好,因为它减少了发现的可能性。 样品输入1 Key miQ2eEO 样品输出1 Message 样品输入2 ThisIsAKey CoqKuGRUw29BiDTQmOpJFpBzlMMLiPb8alGruFbu 样品输出2 ThisWorksEquallyWellWithNumbers123894576 一个星期过去了。当前最短的解决方案已被接受。对于那些感兴趣的人,在我们的比赛中,我们提交了以下意见和时长: 130 – Python 146 – Haskell 195 – C 197 – C 267 – VB.NET 我们自己的解决方案在其他方面没有排名: 108 – Ruby 139 – PowerShell
28 code-golf  cipher 

30
每年13号星期五星期五?
您的挑战是编写一个程序,该程序在给定的一年内输出其中的“星期五13日”数字。 规则和详细信息: 您可以通过STDIN或作为传递给程序的参数来接受输入。 您应该将结果输出到STDOUT。 您可以假定输入将是有效年份,并且未提前输入公历(在这些情况下允许未定义的行为)。 日历/日期库是允许的。 这是一个代码高尔夫球,因此最短的代码(以字节为单位)获胜。 (相关挑战链接)
28 code-golf  date 

30
俄罗斯轮盘
写一个玩俄罗斯轮盘的程序! 如果程序启动, 打印“我还活着!”之后,应该有六分之五的机会正常结束 该程序崩溃的可能性应该为六分之一。(分段错误等) 没有输入,也没有其他输出是允许的。 随机性必须是公平的:它必须具有统一的概率分布。这意味着未初始化的变量(或没有种子的RNG)MOD 6将不足。 如果该解决方案仅适用于一个专用的操作系统/平台,您将获得6字节的罚款。 最短的代码获胜,不得早于第一个有效答案后的10天之内。
28 code-golf 

7
记下纸牌
这项挑战是要赢得一张纸牌。如果您不玩“纸牌游戏”,则需要学习一些知识。我们使用标准的扑克牌游戏,一手牌包括四张纸牌加“上纸牌”。手有两种类型:普通手和“婴儿手”。 卡进来的形式vs,其中v是下列之一:A23456789TJQK(十T)和s是之一SCDH。将以以下形式给出一手牌(例如) AS 2D 3H JS | 4S 4S上卡在哪里。婴儿床的手将具有以下格式 JD 3C 4H 5H | 5S ! 面卡的值为10,而ace的值为1。计分过程如下。 15分:对于五张卡的总和为15的每个子集,加2分。 成对:对于具有相同等级(非价值)的每对牌,加两点。 游程:对于长度大于2的连续卡牌,每次最大游程都以点为单位增加游程的长度。 同花:如果五张牌都相同,则加5分。否则,如果除了up卡之外的所有卡都相同,则加4分。如果这是婴儿床手,则不计算四点变量。 Nobs:如果手头有一个与up卡相同的插孔,则加1点。 笔记: 三元组和四元组的类型并不特殊-三元组中有三对,因此三元组可得6分。 运行可以重叠。例如,AS AH 2D 3C | 2C(一个双倍双程)有四个长度为3的滑程和两个对,因此值得3 + 3 + 3 + 3 + 2 + 2 = 16分。 仅计算最大跑步次数,因此KS QD JD TC | 9S值得5分,因为它是5的跑步次数。不计算子跑步次数。 众议院规则: 一手拿下19分是不可能的。报告分数为19,而不是零。 …
28 code-golf  game 

30
在不使用'^'的情况下实现超指数运算
挑战 用最少的字符实现四边形(又名Power Tower或Hyperexponentiation)。 条件 不要使用“功率”操作符或它的等价物(如pow(x,y),x^y,x**y等) 输入形式为:(x y以空格分隔) x本身乘幂y。 您的方法必须至少能够计算4 3(4次自身取幂3次) 计分 最低分获胜:(字符数) 如果您不使用乘法运算符(-5分),则扣除奖金。 没有速度/内存要求。只要你想。 例子 x, 0 -> 1 2, 2 -> 2^2 = 4 2, 4 -> 2^(2^(2^2)) = 65536 4, 3 -> 4^(4^4) = 4^256 = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 接受建议/改变/问题
28 code-golf  math 

29
呈现“数字时钟样式”数字
编写最短的程序,该程序将使用一串数字(至少 20个长度)作为输入,并使用标准的数字时钟样式数字显示输出。例如对于输入81,具有ascii输出的解决方案将给出: _ |_| | |_| | 如果有帮助,图形输出也是可以接受的。

30
计算ISBN-13校验位
编写一个函数,给定ISBN-13代码的前12位,该函数将通过计算并附加适当的校验位来计算整个ISBN。 函数的输入是一个字符串,其中包含ISBN的前12位数字。它的输出是一个包含所有13位数字的字符串。 正式规格 编写一个函数,当给定一个完全由12个十进制数字组成的字符串s(并且没有其他字符)时,该函数返回具有以下属性的字符串t: t完全由13个十进制数字组成(没有其他字符); s是t的前缀; t中奇数位置(即第一,第三,第五等)的所有数字的总和,加上t中偶数位置(即第二,第四,第六等)的所有数字的总和的三倍。10的倍数。 示例/测试用例 输入值 978030640615 输出量 9780306406157 胜利条件 作为对代码高尔夫球的挑战,最短的答案胜出。

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.