编程拼图和代码高尔夫

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

18
该程序将所有自然数相加并产生-1/12的结果[关闭]
如您所知,有一个数学上的事实,即如果将所有自然数相加,最终将得到... -1/12 (请参阅Wikipedia此处)。 当然,这是一个非常奇怪的结果,不能仅通过在一个数字后面加上另一个数字而获得,而是一些特殊的数学技巧。 但是,您的任务是编写一个程序,该程序看起来像尝试将所有自然数相加,但是在您运行该程序时-它返回-1/12。 在伪代码中,它可能看起来像这样: result = 0; counter = 1; while(true) { result += counter; counter ++; } println(result); 您可以按照自己喜欢的任何方式执行此操作-您可以利用缓冲区溢出,在某些变量变得太大时处理抛出的错误,或者以某种巧妙的方式隐藏代码中的关键内容。唯一的条件是,代码在开始时看起来应该像试图加所有自然数一样,并且在运行时返回-1/12(以任何格式,可能是十进制,二进制,文本,ascii art等)。 该代码当然可以包含比上面显示的更多的内容,但是应该足够清楚,以愚弄读者。 这是人气竞赛-投票选出最聪明的主意!

30
避免邪恶的整数![关闭]
您正在开发一些代码以生成ID号。策略要求ID号不包括数字序列666。 创建一个函数(或与您的语言等效的函数),该函数带有一个正整数参数,并在该整数以十进制表示时返回不包含666的下一个整数。(60606可以,但66600可以。) 您的代码在找到符合规则的结果之前,不得使用加一的循环。 f(1) returns 2. f(665) returns 667. f(665999999) returns 667000000 without having looped a million times. (Following examples added since the question was first posed.) f(666666666) also returns 667000000. f(66600) returns 66700. f(456667) returns 456670. 更新: 如果输入中有多个666,则用667代替666无效。

9
创建一个简单的2048游戏克隆
2048是一款非常有趣且令人上瘾的游戏,其目标是创建一个上面带有2048的图块。 这是游戏的简短说明: 按下箭头键将沿该方向滑动舞台上的所有块。例如,如果x代表一个块,那么在这种情况下您按下了向上箭头: ...x .x.. ..x. xx.. 然后董事会将成为 xxxx .x.. .... .... 此外,从处开始编号2。如果两个相同编号的块一起移动,它们将合并为下一个编号。例如,在此板上按“向上”: .2.. ..22 .2.. .... 将创建以下内容: .422 .... .... .... 然后,在按“向右”之后,它将变为..44,因此再次按向右将创建一个“ 8”块,依此类推。 每转一圈,都会在随机的正方形上创建一个新的“ 2”块。(实际上,它不一定总是 “ 2”,但为简单起见,让我们保持该水平。)如果没有可能的移动(即,棋盘已满,并且您无法合并任何东西),那么游戏将会失败,如果创建一个2048区块,您赢了! 您的挑战是重新制作这个打高尔夫球的游戏! 对于边缘情况,例如在此板上按“向右”: .... .222 .... .... 您必须合并最靠近按下箭头键边缘的图块。例如,这将变为..24,因为第二和第三个“ 2”最接近右边缘。 如果玩家按下无效的举动(例如板上的“向上” 2.2. / .... / .... / ....),则您必须忽略该举动。 可以通过任何方式接受移动,例如单击,箭头键ULRD等。 这些图块都必须具有相同的形状-“ 1024”图块的大小应与“ 2”图块的大小相同。 磁贴必须以某种方式分开。例如,|1024| 2|1024|1024|是行的有效示例(假设图块是正方形),而1024 …

30
你会打高尔夫球吗?
您需要生成一个随机的18洞高尔夫球场。 输出示例: [3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4] 规则: 您的程序必须输出正好18个孔的孔长度列表 每个孔的长度必须为3、4或5 整个过程中,孔长总计必须为72 您的程序必须能够产生具有某些非零概率的每个可能的孔配置(每个配置的概率不必相等,但是在这种情况下,可以随时要求额外的荣誉)

30
测试一些自恋的人
一个水仙花数是一个数字这是它自己的数字的总和,每个调至位数的力量。 例如,取153(3位数字): 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634年: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 挑战: 您的代码必须接受用户的输入,并根据给定的数字是否为自恋数字输出True或False。 不需要对文本字符串或其他无效输入进行错误检查。输出为1或0是可接受的。仅生成自恋数字列表或对照列表检查用户输入的代码不符合要求。 OEIS A005188

21
1P5:嵌套盒
此任务是“ 首次定期Premier Programming Puzzle Push”的一部分。 您将获得以下格式的项目层次结构: 2 Hat 1 Gloves 需要放在盒子里,就像这样: .------------. | Hat | | .--------. | | | Gloves | | | '--------' | '------------' 在输入格式中,数字以一个框开头,其中包含与数字指定数量一样多的项目。第一个盒子里面有两个物品(帽子和包含手套的盒子),第二个盒子只包含一个物品–手套。 可以看出,盒子也可以放在盒子里面。而且它们总是圆的……有点(尖角是伤人的危险,我们不希望这样)。 对于那些想要利用规范给出的每条细微回旋余地的人来说,下面是令人讨厌的细节。请注意,不阅读规格并不是提交错误解决方案的借口。最后有一个测试脚本和一些测试用例。 规格 框由以下字符构成: | (U + 007C)用于构造垂直边缘。 - (U + 002D)用于构造水平边缘。 ' (U + 0027)是圆形的下角。 . (U + 002E)是圆形的上角。 因此,一个框如下所示: .--. …

30
让我们高尔夫一个BIBABOBU解码器
当我将来旅行时,我注意到大约2275岁的孩子之间发生了一场有趣的游戏。当他们不希望他们的曾曾曾祖父母明白他们在说什么时,他们会用BIBABOBU说话。显然,我在半机器人之前的时代无法理解任何事情,而且我(或者从技术上:我会觉得)真的很愚蠢。因此,我下次访问时需要解码器。 BIBABOBU? 尽管已被弃用很长时间,但ASCII在2275的流行文化中仍然很常用,并且该语言基于它。 字符串是用BIBABOBU编码的: 将所有字符转换为其ASCII码。 取每个代码的2位十六进制表示形式,并使用下表对其进行转换: 0: BI 4: BIDI 8: BADI C: BODI 1: BA 5: BIDA 9: BADA D: BODA 2: BO 6: BIDO A: BADO E: BODO 3: BU 7: BIDU B: BADU F: BODU 例 "Hello!" → 48 65 6C 6C 6F 21 → "BIDIBADI BIDOBIDA …

12
芬兰电影院的座位
您会得到一个布尔值矩阵的电影院地图:0代表一个免费座位,1代表已占用。每个进入的芬兰人都从最近的被占领者那里选择最远的座位(欧几里得距离),如果有多个座位的话,则按行顺序排列。输出一个矩阵,显示最终将占用的订单;也就是说,将0替换为2、3、4等 // in 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 // out 2 8 3 9 1 10 5 11 6 12 4 13 14 15 7 16 17 1 1 18 // in 0 0 0 …
52 code-golf  matrix 

15
无味和其他错误
标准Android计算器应用程序的某些版本允许您按一个键,例如“ sin”,然后按“ del”键使其变为“ si”。可能只是一个bug,他们不能为删除而烦恼。 以下字母/字母分组是可键入的: 罪 si s cos 合作 C 棕褐色 ta Ť ln 升 日志 罗 Ë 因此,“无味”是典型的,因为ta-steless,“木s”也是如此,因为“ c-log-s”。但是,“ got”不是可键入的,“ an”或“ xyz”也不是可键入的。 编写一个程序,该程序将单个单词(或字母序列,输入中仅包含z)作为输入,并生成输出以指示单词是否可键入。 输出可以是单个字符/字母/数字/等。或可能更大。所有可打字的单词应产生相同的输出。所有非典型词也应产生相同的输出。 PS只是出于好奇,“无味”是最长的可打字的字典单词吗?

30
禁止内置
在标准漏洞中,禁止以下行为: 声称您的答案是用“ MyOwnLanguage”编写的,该命令的x意思是“读取数字序列,将它们分成三组,并打印第二组小于第一个的那些组的最后一个数字” 在这里,我们将做完全相同的事情。 任务 给定一个正整数序列(其长度可被3整除),将它们分为三组,并打印第二组小于第一个的那些组的最后一个数字。 测试用例 Input Output [] [] [1,2,3,4,5,6,7,8,9] [] [2,1,3,5,4,6,8,7,9] [3,6,9] [3,1,4,1,5,9,2,6,5] [4] [100,99,123] [123] [123,123,456] [] [456,123,789] [789] 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。 存在标准漏洞,因此请记住不要使用内置命令x来执行此任务。

30
我的操作系统是32位还是64位?
它不再是太重要了,但是偶尔有人需要知道。 这是一个简单的练习:没有用户输入,请告诉我运行代码的计算机是在64位操作系统还是32位操作系统上! 如果代码在32位操作系统上运行,则打印“ 32”,如果代码在64位操作系统上运行,则输出“ 64”。重要: 如果不是32位或64位字符,请打印其他任何非空的字母数字字符字符串。 请注意,在具有64位操作系统的计算机上运行的32位程序应输出“ 64”。您可以假设用户将尽可能使用64位软件。 为了有资格进入,您的代码必须能够在Windows 4.10或更高版本的 Microsoft支持的Windows系统上运行,并且至少可以选择一种Linux(只要免费提供)。只要程序仍然返回正确的值,就可以安装兼容性模块。 通常使用代码高尔夫球规则。 注意:如果您的答案仅打算打印32或64,而不是alt大小写,我会接受的,但这不是竞争性答案。 稍后,我将尝试发布在不同操作系统上运行这些代码的一些结果!

30
我适合多少位
对于任何正的32位整数(1 ≤ n ≤ 0xFFFFFFFF)输出,代表该整数所需的位数。 测试用例 | n | n in binary | bits needed | |----------------------------------| | 1 | 1 | 1 | | 2 | 10 | 2 | | 3 | 11 | 2 | | 4 | 100 | 3 | | 7 | 111 | …
52 code-golf  binary 

3
乳蛋饼洛林[关闭]
由于这是丕日最近,我注意到一个数的挑战,询问您是否计算圆周率。 当然,洛林蛋饼也不是一个好蛋(如果您猜对了挑战,就可以申请+1的奖励分数¹)。因此,你的任务是写一个算法或方法是看起来像它的第一眼近似于皮,但保证不会收敛朝皮。 这是一个不足的挑战,因此请确保针对简单的测试用例(例如,使用10次算法迭代)将输出3.14...。这也是一个普及性挑战,因此请不要echo(pi)直言不讳地说IEEE 754浮点向上或向下舍入一些数字。 优胜者得到洛林蛋饼。 ¹警告:实际上不是奖金分数。索取分数,即表示您同意在2016年Pi Day之前给我烤馅饼 ² 警告:洛林乳蛋饼被用作隐喻,将您的答案标记为“已接受”

30
它是唇形图吗?
笔形图是一组省略特定符号的单词。现在,我避免了通常显示的第五个符号26。您现在应该知道我正在忽略的内容。如果没有,请查找“嘴唇图”,您就会知道。 你的任务 输入中包含一个字符,一个空格和一个后续字符串(可能会出现空白;仅ASCII 32-126个字符),如果此字符位于输入字符串中,则输出falsy,否则返回true。您必须查找的该字符始终适合两个范围:“ A”至“ Z”或“ a”至“ z”(ASCII 65-90、97-122)。不要区分大写和非大写。另外,也不必担心空格或标点符号。程序和功能都满足。另外,您可以将输入的char和string分成两个用于程序或函数的args,并且将string作为第一个arg可以。 插图 特鲁西 e This is a lipogram. a You need to consider other letters too. E Capitals also count. 虚假 e This sentence is not a lipogram (for e). t This particular letter is surprisingly hard. A You don't need to …

30
n和n ^ 3是否具有相同的数字集?
给定数字n(0 <= n <= 2642245),请检查n和n 3是否具有相同的数字集,并相应地输出真值或假值。 例如,让我们检查数字100。 100 3是1000000。 100中的数字集为{0,1}。 1000000中的数字集为{0,1}。 因此,100应该给出真实值。 测试用例 0 -> True 1 -> True 10 -> True 107624 -> True 251894 -> True 251895 -> False 102343 -> False 请记住,这是code-golf,所以字节最少的代码将获胜。 OEIS A029795

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.