Questions tagged «code-golf»

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

2
给我看一些烟花!
以任何方式和顺序给予 尺寸(按您想要的顺序) 概率(您想要的任何格式) 迭代次数(您可以选择是否计算初始状态) 做一个如下: 动画,或 输出的每个步骤,或 返回状态列表 这些尺寸的空间充满了天空。 对于每次迭代: 每个天空角色都有给定的概率 * 八字环绕的任何*变 \ | / - - / | \,如果他们不成为明星,但是, 如果字符在2 *s的范围内,则将其设置为X 例 7×22天空(仅出于清晰起见,请勿输出该帧) ┌──────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────┘ 可能以1%的概率成为 ┌──────────────────────┐ │ * │ │ │ │ │ …

11
生成美国车牌
给出以下输入之一: AK,AR,AS,AZ,CA,CT,DC,FL,GA,IL,IN,IA,KS,KY,LA,MD,MI,MN,MS,NV,NH,NJ,NM,NY,NC,ND,MP,OH,OK,OR,PA,PR,RI,SC,TN,TX,UT,VT,VA,WA,WI (带引号) "AK","AR","AS","AZ","CA","CT","DC","FL","GA","IL","IN","IA","KS","KY","LA","MD","MI","MN","MS","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","TN","TX","UT","VT","VA","WA","WI" 生成并输出与输入匹配的格式的(均匀)随机车牌。如果有多种(逗号分隔)格式,请使用(均匀)随机格式: AK, IA, MS, MP, VT: AAA 000 AS: 0000 AZ, GA, WA: AAA0000 AR, KS, KY, LA, ND, OR: 000 AAA CA: 0AAA000 CT: AA-00000 DC: AA-0000 FL: AAA A00 IL: AA 00000 IN: 000A,000AA,000AAA,AAA000 MD: 0AA0000 MI: AAA 0000,0AA A00,AAA 000 MN: 000-AAA NV: …

2
赶上那些羊!
您是农夫,您的羊群逃脱了!不好了! 将围栏围起来,围住那些绵羊。作为预算有限的农民,您希望使用尽可能少的围栏。不过对您来说幸运的是,它们不是世界上最聪明的绵羊,在逃脱后也不会打扰他们。 任务 给定一个坐标列表,输出容纳绵羊所需的最少数量的围栏段。 规则 如果绵羊不能走动,则将其包含在内(围栏无孔)。 您不必将所有的绵羊都放在一个围栏中-可以有多个相互独立的围栏区域。 栅栏段沿基本方向定向。 每个座标元组代表一只绵羊。 输入必须为正整数对x>0&y>0,但可以根据您的语言正确设置格式。 即:{{1,1},{2,1},{3,7}, .. }或[1,2],[2,1],[3,7], .. 围栏区域内的空白处还可以。 您不能假定坐标以任何特定顺序输入。 例如,一只绵羊需要4完全围栏。 测试用例 [1,1] 4 [1,1],[1,2],[2,2] 8 [2,1],[3,1],[2,3],[1,1],[1,3],[3,2],[1,2],[3,3] 12 [1,1],[1,2],[2,2],[3,7],[4,9],[4,10],[4,11],[5,10] 22 [1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9] 36 [1,1],[2,2],[3,3],[4,4],[6,6],[7,7],[8,8],[9,9] 32 [2,1],[8,3],[8,4] 10 笔记 您可以假设输入坐标有效。 理论上,您的算法应适用于任何较大的整数坐标(最高为您的语言支持的最大值)。 完整的程序或功能答案都可以。 这是代码高尔夫球,因此最短答案以字节为单位!
16 code-golf 

10
旋转计算器
介绍: 让我们看一下Windows中的标准计算器: 对于这一挑战,我们将仅查看以下按钮,而忽略其他所有内容: 7 8 9 / 4 5 6 * 1 2 3 - 0 0 . + 挑战: 输入: 您将收到两个输入: 一种是表示以90度为增量的旋转 另一个是代表旋转计算器上按下的按钮的坐标列表。 基于第一个输入,我们将上述布局以90度为增量顺时针旋转。因此,如果输入为0 degrees,则保持原样;但是如果输入为270 degrees,则它将顺时针旋转3次(或逆时针旋转1次)。这是四个可能的布局: Default / 0 degrees: 7 8 9 / 4 5 6 * 1 2 3 - 0 0 . + 90 degrees clockwise: …


23
这是Hardy-Ramanujan-Number-ish Harshad号码吗?
背景 1729是哈迪-拉曼纽(Hardy-Ramanujan)数字。当S. Ramanujan(被广泛认为是印度最伟大的数学家1)在GH Hardy在医院探望他时,发现了它的惊人特性。用哈代自己的话说: 我记得他在普特尼生病时曾经去看他。我曾骑过1729号出租车,并说这个电话对我来说似乎是个呆板的,我希望这不是一个不利的预兆。他回答说:“不,这是一个非常有趣的数字;它是最小的数字,可以用两种不同的方式表示为两个立方体的和。” 除此之外,它还有许多其他令人惊奇的特性。一个这样的属性是它是一个Harshad数,即其数字的总和(1 + 7 + 2 + 9 = 19)是其中的一个因素。那也很特别。正如藤原昌彦(Mahahiko Fujiwara)所显示的,1729是一个正整数,当将其数字相加时,会产生一个总和,再乘以其反转,便得出原始数字: 1 + 7 + 2 + 9 = 19 19×91 = 1729 具有这种性质的正整数,是我定义为哈迪- Ramanujan- ISH哈沙德数,这个职位的目的。(可能会有一个技术术语,但是除非它是A110921的成员,否则我找不到它) 任务 给定一个正整数n作为输入,输出基于所述输入是否truthy或falsey值n是一个哈迪- Ramanujan- ISH哈沙德数。如果是,请输出真实值。否则,输出falsey。 请注意,只有四个哈迪- Ramanujan- ISH哈沙德数存在(1,81,1458和1729),你可以写代码检查与他们对等。但是我认为那不会很有趣。 输入值 您的程序应采用正整数(换句话说,是自然数)。除了假定它存在于变量中之外,它可以采用任何方式使用。允许从模态窗口,输入框,命令行,文件等读取。也可以将输入作为函数参数。 输出量 您的程序应输出一个真或假值。它们不必保持一致。您的程序可以以任何方式输出,除非将输出写入变量。允许写入屏幕,命令行,文件等。return也允许带有功能的输出。 附加规则 您一定不能使用内置函数来完成任务(我想知道任何语言都将具有内置函数,但是Mathematica ...) 适用标准漏洞。 测试用例 Input Output 1 Truthy …

12
计算N位整数乘法溢出
给定一个正整数N,输出整数对的数量,0 <= a <= b < 2**N使a*b >= 2**N。 规则 您可以假定该N值小于或等于您语言中整数的最大位宽(例如,对于C,N不超过32或64,具体取决于计算机的体系结构)。如果您的语言能够处理任意宽度的整数,则没有上限N。 测试用例 1 0 2 3 3 19 4 96 5 437 6 1876 7 7804 8 31904 9 129170 10 520135 11 2088143 12 8369175 13 33512744 14 134128704 15 536681553 16 2147082274

13
输出第n个偶数
挑战 给定整数n作为输入,其中0 <= n <= 2^10输出第n个偶数。 完美数字 理想数是一个数字x,其中其因子之和(不包括其自身)等于x。例如6: 6: 1, 2, 3, 6 并且,当然1 + 2 + 3 = 66是完美的。 如果是一个完美的数字x,,则为偶数x mod 2 = 0。 例子 以下是前十个偶数: 6 28 496 8128 33550336 8589869056 137438691328 2305843008139952128 2658455991569831744654692615953842176 191561942608236107294793378084303638130997321548169216 请注意,您可以根据需要对此进行索引:6可以是第1个或第0个偶数。 获奖 以字节为单位的最短代码获胜。
16 code-golf  math  number 

17
梅威瑟vs麦格雷戈:准备现金奖励
介绍 2017年8月26日,小弗洛伊德·梅威瑟(Floyd Mayweather,Jr.)将在拳击比赛中与科纳·麦格雷戈(Conor McGregor)面对面。 两位参与者将获得惊人的1亿美元! 不幸的是,我们还没有钱,但是我们已经可以准备容纳所有钞票的大公文包。 _________________________ | | |=======================================| | $ $$$$$ $$$$$ $ $ | | $ $ $ $ $ $ $$$ $$$ | | $ $ $ $ $ $ $$$ $ | | $ $$$$$ $$$$$ $ $ | |_______________________________________| 公文包由_,|,=和$。 它的宽度为41个字符(忽略换行符),高度为6个字符(手柄为+2)。 挑战 在没有输入的情况下,编写一个完整的程序以输出2D公文包(请参见上文)。 得分了 …

16
找到所有的字谜!
尽管有17个问题被标记 anagram的,我们仍然没有这个问题,所以就在这里。 你的任务 您必须编写一个程序或函数,该程序或函数在接收到字符串时会打印出所有可能的字谜。出于这个问题的目的,一个字谜是一个字符串,它包含与原始字符串相同的字符,但不是原始字符串的精确副本。字谜不必是或包含实际单词。 输入值 您可以通过任何标准输入法接受长度大于0的任何字符串。它可以包含任何ASCII字符。 输出量 您可以以任何标准方式输出输入字符串的所有可能的字谜。您不得输出相同的字符串两次,也不能输出与输入相等的字符串。 其他规定 不允许使用标准漏洞 计分 这是代码高尔夫球,最少字节获胜。

3
Miller-Rabin强伪素数
给定一个非负整数N,将最小的奇数正整数输出为所有第一个N素数基数的强伪质数。 这是OEIS序列A014233。 测试用例(一索引) 1 2047 2 1373653 3 25326001 4 3215031751 5 2152302898747 6 3474749660383 7 341550071728321 8 341550071728321 9 3825123056546413051 10 3825123056546413051 11 3825123056546413051 12 318665857834031151167461 13 3317044064679887385961981 的测试用例N > 13不可用,因为尚未找到这些值。如果您设法按顺序查找下一个术语,请务必将其提交给OEIS! 规则 您可以选择采用N零索引或一索引的值。 您的解决方案只适用于语言整数范围内的可表示值是可接受的(最多适用N = 12于无符号64位整数),但是理论上您的解决方案必须在假设您的语言支持任意长度整数的情况下适用于任何输入。 背景 任何正偶数x可以写成如下形式x = d*2^s,其中d为奇数。d并且s可以通过反复分割计算n由2,直到商是通过2不再整除d是最终商,并且s是的2所划分的数目n。 如果一个正整数n是质数,那么费马小定理说明: 在任何有限域 Z/pZ(其中p有一些素数)中,的唯一平方根1是1和-1(或等价地为1和p-1)。 我们可以使用这三个事实来证明以下两个语句之一对于素数必须为true n(其中d*2^s = n-1和r是中的一些整数[0, s)): 的米勒罗宾素性测试操作通过测试上述权利要求的对换句:如果有一个基座a,使得上述两个条件都为假,则n不是素数。该基地a被称为见证人。 …

15
将日语马里奥标题转换为美国标题
《超级马里奥》系列游戏的命名约定非常奇怪,并且在不同地区之间不匹配。 | Japanese Name | American Name | |---------------------|------------------------------------| | Super Mario Bros. | Super Mario Bros. | | Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels | | Super Mario USA | Super Mario Bros. 2 | | Super Mario Bros. 3 | Super Mario Bros. …

13
Trithagorean三元组
甲毕达哥拉斯三重是正整数方程的解: Trithagorean三元组是方程的正整数解: 其中Δn找到第n个三角数。所有Trithagorean三元组也都是该方程式的解: 任务 给定一个正整数c,输出所有正整数对,a,b以使a第bth个三角形数和第th个三角形数之和成为第th c个三角形数。您可以以最方便的任何方式输出对。您每对仅输出一次。 这是代码高尔夫球 测试用例 2: [] 3: [(2, 2)] 21: [(17, 12), (20, 6)] 23: [(18, 14), (20, 11), (21, 9)] 78: [(56, 54), (62, 47), (69, 36), (75, 21), (77, 12)] 153: [(111, 105), (122, 92), (132, 77), (141, 59), (143, 54), (147, 42), (152, …

2
鸣叫中的二进制俄罗斯方块
最近(几年前),编程 网站上出现了一些有关以140 Bytes实现俄罗斯方块的嗡嗡声。... 事实证明,尽管它很小,但它是Tetris的简化版本,甚至不是完整的实现。只有核心逻辑功能适合140字节的Javascript。要实际运行它,您还需要约840个HTML字符。 我们可以做得更好! 面临的挑战是在尽可能少的推文中实现完整版本的“二进制俄罗斯方块”。 二进制俄罗斯方块规则: 程序必须显示至少包含5列和6行单元格的运动场。 可以使用任何显示方法,只要清楚地标记了区域的块和边缘即可。 至少必须有两种类型的块: #和##。其他块支持,例如###:P或形状像L的角度块之类的将被我:P投票,最完整的二元俄罗斯方块游戏(大多数块如原始和旋转功能)将赢得我的幸福,并可能获得50 rep奖励。 新块将添加到第一行的字段中,并且一个块单元必须占据中心列。 方块以固定的速率朝底行下降。即使没有用户输入,块也必须下降。 当砖块碰到场地底部或下部砖块时,它们会停止下降并固定到位。添加了一个新块。 当该行中的所有列都填充有块时,该行将被清空,并且上方的所有固定块将下拉一行。 该程序必须响应按键。必须有3个唯一的键才能执行以下功能 将当前块左移1列 将当前块右移1列 将当前块向下移动1行 每条推文只能包含140个字符。允许使用可以放在推文中的多字节字符。 一条推文中的规则很简单。如果可以鸣叫,则可以使用它。 口译语言遵循相同的规则。每个部分都必须遵循规范。只要没有发生运行时错误(其余错误均符合规范),您的答案就是有效的 Golfing规则: 由于原始实现是“可发推的”,因此这一挑战也需要同样的条件。条目必须能够以一系列推文(每行140个字符或更少)的形式发送。 第一条推文必须包含编译器/解释器的名称,程序的名称以及任何命令行参数 它将保存为文件“ P0” 以下N条推文必须将该程序包含为一系列行。 每个推文将存储在名称为T <n>的文件中,其中n为1..N 每行都将添加到前面的行中并进行编译或解释。它必须产生一个有效的目标文件或程序。 在添加最后一行之前,该程序无需运行。 该程序将以以下方式运行(伪bash) interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > …

3
别走进墙壁了!
一些基于文本的流氓行为不会让您走进墙壁,如果尝试的话,也会让您后退。当您可以使播放器朝最接近的有效方向移动时,为什么要这样做? 挑战 编写一个功能程序,给定方向和3 x 3的字符网格,在玩家采取步骤后输出相同的网格。 例如, 9 #.. .@# #.# 变成 #.@ ..# #.# 输入值 方向由1到9的单个数字给出,每个数字对应于8个基本方向并保持静止。这是从键盘上数字的相对位置得出的: 西北西北 .. \ | / ... 7 8 9 W- 4 5 6 -E ... 1 2 3 ../ | \ 西南 但是,您也可以使用数字123、456、789而不是789、456、123。换句话说,如果您愿意,可以交换顶部和底部2行或数字。这些是仅有的2个可接受的索引组合。 3 x 3网格将由3个不同的可打印ASCII字符组成,这些字符代表步行地板,墙壁和播放器。(在测试用例中,.用于地板,#s是墙壁,@是玩家) 您可以选择程序使用的字符,但是您必须在答案中说明它们,并且它们在多次试验中必须保持一致。 代表角色的角色将始终位于3 x 3网格的中间,并且方向将始终在1到9(包括)之间 您可以按任何顺序输入 3 x 3网格可以作为char数组,字符串数组,9长度字符串或其他合理的替代输入。 …
16 code-golf  random 

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.