编程拼图和代码高尔夫

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

5
北方大白!
h! 您知道,我们加拿大人的问题是,有时候,经过漫长的驼鹿狩猎和大坝修复,我们忘记了回到小屋的路!如果我们的便携式笔记本电脑(总是在我们身边)有某种方法可以指引我们回家,那不是很好吗?好吧,很久以来,人们就知道,如果您在计算机上显示指南针,则在向北指向时它将是最亮的。我想对此进行测试,但是在下一次旅行时,我需要一个紧凑的程序来携带我的硬盘,因为我的硬盘上已经装满了枫糖浆配方(有些不能)。因此,您的任务是设计一个程序,该程序在运行时会保存或显示以下罗盘的图像: 字母可以使用不同的字体。请记住,最少是最好的,所以最低的字节数会获胜! 技术指标 色彩 浅紫色:#9999FF 灰色:#E5E5E5 长度和角度 角度a= 45° 角度b= 90° 长度c= 250单位 长度d= 200个单位 长度e= 40个单位 长度f= 45单位 澄清说明 该文本可以是任何适当的字体,在适当的地方表示该文本对于一般的受过良好教育的人是可读的。 文字必须与尖峰最接近的位置相距3个单位,不得触摸玫瑰,并且必须直立 如果从玫瑰的中心画一条线,穿过尖峰的终点并超出该线,则它应以+/- 2单位的精度穿过文本的中心(文本必须沿轴居中a,其中,a从页面的中间,通过秒杀结束,并延伸超出) 每个字符必须至少为15个单位乘15个单位,并且x / y或y / x比例不超过2:1(无拉伸-可读性) 不应绘制穿过较长尖峰的暗圆和在参考图像上最靠近中间的文字。 图片必须为正方形,且至少为400px x 400px 禁止在源中压缩图像 单位必须至少为1像素

4
超级广场雨
Scream™冬季特卖活动已经开始,您只是在狂奔极简动作游戏Super Square。玩完游戏后,您会意识到,要么游戏太难了,要么真的很糟糕。特别是,这种“雨”模式似乎每次都会让您受益…… 沮丧的是,您决定给自己一个不同的挑战:用ASCII艺术画雨图! 输入值 输入是一个单个正整数n,表示通过STDIN或函数参数指定的模式大小。 输出量 输出为指定大小的降雨模式,以字符串形式返回或通过STDOUT打印。整个图像之前或之后的前导或尾随空格都可以。此外,图像不必齐平到屏幕左侧,但必须清晰可辨。 这里是n = 10: ................... | ----------------- | | ............... | | | ------------- | | | | ........... | | | | | --------- | | | | | | ....... | | | | | | | ----- | | | | …

8
在银行打高尔夫球
我们的新银行需要一个柜员交易系统,但是有一个问题。我们的服务器上只剩下几百个字节的空间,因此您将必须编写非常紧凑的代码。 数据库 幸运的是,我们的数据库非常简单(它是由银行行长的小学生儿子建立的),到目前为止,我们只有几个客户。 文件Bank.data是: Account Firstname Lastname Balance Date 123 Maree Jones 346.22 2014-12-13 035 Thomas Breakbone 3422.02 2015-01-03 422 Henrietta Throsby-Borashenko 277847.74 2014-11-21 501 Timmy Bongo 7.95 2014-11-04 105 William Greene 893.00 2015-01-06 300 Mary Galoway 1228.73 2014-12-28 203 Samantha Richardson 2055.44 2014-11-01 151 Bruce Wayne 956119.66 2014-10-09 166 …
11 code-golf 

7
最长反向回文DNA子串
您可能知道,DNA中有四个碱基-腺嘌呤(A),胞嘧啶(C),鸟嘌呤(G)和胸腺嘧啶(T)。通常A与之结合T并C结合G,形成DNA双螺旋结构的“梯级” 。 我们将基数的补语定义为它所键合的基数-即Ais T的补语,Tis A的补语,Cis G的补语和Gis 的补语C。我们还可以将DNA字符串的补码定义为每个碱基都互补的字符串,例如GATATCis 的补码CTATAG。 由于DNA的双链结构,一条链上的碱基与另一条链上的碱基互补。但是,DNA具有方向,并且DNA转录在两条链上以相反的方向发生。因此,分子生物学家通常对DNA字符串的反向补体感兴趣-实际上是字符串的反向补体的反义。 为了扩展前面的示例,的反向补码GATATC是CTATAG向后的,因此GATATC。您可能已经注意到,在此示例中,反向补码等于原始字符串-我们称此类字符串为反向回文。* 给定一串DNA,您能找到最长的反回文子串吗? *我使用“反向回文”(Rosalind)一词来区别回文的通常含义。 输入值 输入将是仅包含ACGT大写字符的单个字符串。您可以为此挑战编写函数或完整程序。 输出量 您可以选择通过打印还是返回输出(后一种选择仅在功能情况下可用)。 如果有唯一的解决方案,则程序应输出输入字符串中最长的反向回文子字符串。如果存在多个解决方案,则可以输出其中任何一个,也可以全部输出(您的选择)。如果选择全部输出,则可以复制。 确保输入的解长度至少为2。 工作的例子 ATGGATCCG -> GGATCC 反向补码GGATCC本身(GGATCC --complement--> CCTAGG --reverse--> GGATCC),GGATCC反向回文也是如此。GATC也是一个反向回文,但它不是最长的。 测试用例 AT -> AT CGT -> CG AGCA -> GC GATTACA -> AT, TA ATGGATCCG -> GGATCC CCCCCGGGGG -> CCCCCGGGGG ACATATATAGACT -> ATATAT, …

1
保持旅行愉快!
挑战 我在Marks and Spencers周围走来走去,发现他们在商店周围随机放置了空调。为了保持凉爽,我想知道在不离开空调装置太长时间的情况下在整个商店中移动的最简单方法是什么。 在给定地图的情况下,您必须找到一种在整个地图上行驶的方法,以保持与空调单元的距离尽可能短(即使AC单元位于墙壁的另一侧)。 地图 该地图可以按照您喜欢的任何方式提供,并使用以下符号: + is a corner of a wall | is a east/west facing wall - is a north/south facing wall X is an air conditioning unit S is the start and end point 映射示例为: +------S---+ | X | | ---+-+ X | | |X| …

5
广义Gematria计算器
为任何给定的Unicode字符序列(如字母)创建一个双向Gematria计算器。 Gematri-什么? Gematria是一种为符号分配数值的系统,该系统由古希腊人开发并由古代犹太人采用。它采用类似于ASCII或Unicode的方式,只是非线性的。请参见下表(完整的表可在上面的链接中找到): Index Letter Letter name Value -------------------------- 0 א "Alef" 1 1 ב "Bet" 2 ... 8 ט "Tet" 9 9 י "Yud" 10 10 כ "Kaf" 20 ... 17 צ "Tsady" 90 18 ' "Kuf" 100 19 ר "Resh" 200 ... 字母的名称并不重要,只是字母在字母“数组”中的索引以及相应的数值。希伯来字母只有22个字母(不包括“最终”字母),因此最大可用值为400。 如果我们将此系统借用到英语字母(AZ),我们将得到A = 1,B = 2 …

2
抽奖Sri Yantra
挑战: 抽奖Sri Yantra。 如何: 有不同的绘制方法。所有步骤都包括许多步骤。如果您认为可以在不遵循链接的步骤的情况下进行绘制,请滚动以下页面,以获取图形中必须包含的元素。 完整的步骤可以在这里找到: http://www.saralhindi.com/Shri_Yantra/makingsky14steps_eng.htm (我没有在这里复制它们,因为这将是一个很长的问题,这里是archieve.org镜像,以防第一个链接断开) 最终图片应如下图所示: 一定有: 基本上,只要您保留最重要的元素,任何选择的绘图方法都是有效的答案 三角形的数量应与上图中的数量相同(43个较小的三角形是由较大的9个三角形交织而成的) 该三重交点受到尊重: 向上三角形的尖端接触四个向下三角形的底部,而向下三角形的尖端应接触三个向上三角形的底部,如下图所示。 内圆(宾度)与外圆同心。 大三角形的尖端(顶点)应接触外圆: 最终图像应具有所有元素,并且通常应如下所示: 每个元素(包括花瓣)的颜色应与上面的图像大致相同。 花瓣的形状最好看起来像波纹管中的样子,但也可以只是半圆或简单的圆弧部分: 对圆圈或门的大小没有严格的比例限制,但是最外面的圆圈的直径应不小于外部正方形边的90%,其他元素将相对于此比例分别进行排列。 编程语言和结果 只要结果相对清晰和可辨别(至少800px X 800px),对编程语言和结果格式(可以是矢量图像,位图图像,画布等)都没有限制。 后期编辑: 没有完美的绘画方法,因为此博客对它们进行了很好的探索:http : //fotthewuk.livejournal.com/ 考虑到这些 错误,我们将容忍这些错误。 在这一点上,这是一个有趣的练习,它知道很可能没有完美的解决方案,就像对圆的平方进行处理一样。


4
5秒找到派
Pi乘以e(如果喜欢模棱两可的表示法,则用Pie表示)到100个小数位: 8.5397342226735670654635508695465744950348885357651149618796011301792286111573308075725638697104739439... (OIES A019609)(可能不合理的论点) 您的任务是编写一个程序,该程序采用正整数N,然后将Pi * e截断为N个小数位。例如,如果N = 2,则输出应为8.53。 这是一个优化问题,因此可以为N的最大值提供正确输出的提交将获胜。 为了确保使用相同的计算能力来判断所有提交,您的代码必须使用支持的任何语言在ideone上运行。根据ideone常见问题解答,未登录用户的运行时间限制为5秒。这5秒的限制是您必须使用的限制,而不是已登录用户的15秒的限制。(有关内存,代码大小等其他限制,请参见常见问题解答。) 具体来说,任何未登录ideone的人都应该能够在ideone上针对从1到某个最大Nmax的所有N值运行您的程序,并且几乎始终都能看到正确的输出。没有任何Time limit exceeded或Memory limit exceeded等错误。Nmax最大的提交者获胜。 (只要ideone不会出错,那么实际花费的时间是否超过5秒钟就无关紧要。“ 几乎所有的时间 ”都被定义为特定N的95%以上的时间。) 细节 您可以使用任何喜欢的数学方法来计算Pi * e,但是您不能对输出的硬编码超出Pi,e或Pi * e的前十二个数字。 给定无限的资源,您的程序应该可以工作于任何N个。 如果您的语言碰巧有Pi或e常量,则可以使用它们。 您可能无法访问代码外部的网站或资源(如果ideone允许的话)。 除了硬编码和访问外部资源之外,ideone允许的任何事情几乎都可以确定。 您的输入和输出必须(显然)必须与ideone提供的I / O一起使用(看起来只有stdin / stdout)。如果您需要在输入N周围加引号或输出类似的东西ans = ...,等等就可以了。 请提供一个以Nmax为输入的代码的ideone片段的链接。 如果碰巧出现平局(仅当多个提交都达到64kB输出字符限制时才有可能),以最高票数回答为准。

8
实用高尔夫-美国[已关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 5年前关闭。 我一家经营电子商务。在我们自己的网站上,我们强迫人们在输入地址时从下拉菜单中选择状态,但通过我们使用的其他一些渠道,客户可以在框中输入他们想要的任何内容。 我妈妈喜欢我为她制作的发票模板,这些模板是自动生成的。但是,因为它们是如此的漂亮和平衡,所以当人们写下州名,或更糟糕的是写“新泽西”之类的东西时,她无法忍受。她说这毁了外观。 我爸爸喜欢代码轻巧。因此,他希望使用更精简的解决方案,而不是使用开关盒模块。 因此,面临的挑战是制作一个简短的函数,该函数接受可能的输入并返回两个字母的缩写(大写,对于妈妈)。我们将做出一个(错误的)假设,即我们的用户可以拼写并始终在名称中放置一个空格(需要时)或传递正确的缩写。范围是美国的50个州。 纽约 纽约 纽约州 ny 是纽约所有可接受的输入,应输出NY。 如果传入类似New Yrok之类的函数,则该函数可以返回原始值。 您可以使用任何通用语言。这是一场人气比赛,因此在一周结束时获得最高票数的比赛将获胜。我认为这将有利于新颖性和实用性。 编辑:描述是故事的绒毛,但我正在做一个类似的项目,并认为必须有一个更有趣的方法。我可以自己做这个项目(已经做过),但是我认为这是一个进行更有趣挑战的好地方。通过“任何通用语言”,我排除了为此挑战设计的自定义语言/库-我试图寻找新颖的方法,而不是免费的代码帮助。我认为每个人都在某个时候做到了这一点,但是以一种不寻常的方式来做会很有趣。我发现最有趣的项目是您以新颖有趣的方式处理日常任务的项目,这就是为什么这是一次大众竞赛而不是高尔夫。

12
Piem验证程序
编写一个程序,该程序定义一个函数,该函数可以检查名为“您想要或用户输入的任何内容”的字符串变量是否为piem。(piem =故事或诗歌,其中单词长度代表π的数字(来自Wikipedia)) 一些例子: myfunction("I am clearly wrong") # False myfunction("How I want a drink, alcoholic of course, after the heavy lectures involving quantum mechanics") #True (Taken from Wikipedia) myfunction("Law ' s fine") # True 在处理之前,您应该删除任何标点符号或换行符。纯粹的代码高尔夫,最短的胜利 结束日期:2014年1月10日晚上 各种答案 我们需要处理几位数?10以上 出于兴趣,如何解释PI中的0?跳过或10个字母的单词?作为10个字母的单词 “一个称为piem的变量” –因此参数名称必须为piem吗?不,还没有,问题文本已更正 一个有趣的红利可能是一个解决方案,它本身就是一项艰巨的任务。 为了争辩,_总是标点符号吗?您可以确定它是标点符号还是不是标点符号 目前尚不清楚“ 。'”?!;;()是什么意思。 那么应该算数字吗?法律的罚款是虚假的吗?数字应视为字母,Law的罚款= False;法律罚款=正确 评论 APL解决方案应以字节为单位 如果您的解决方案适用于pi的100位数以上,您将获得* …
11 code-golf  pi 

1
Golfscript对角阵列
Golfscript中是否可以将数组的所有对角线合并为一个数组? 例如,对于数组 [[1 2 3][4 5 6][7 8 9]] 返回 [[7][4 8][1 5 9][2 6][3]] (不一定按该顺序)和 ["ABCD""EFGH""IJKL"] 返回 ["I""EJ""AFK""BGL""CH""D"] (不一定按此顺序)。假设数组的长度相同。 我正在努力解决这个问题。我尝试对字符串=的(length+1)th个字符进行处理并对其进行迭代,但这没有用。有人能帮我吗? 如果可能的话,我想用最短的方法做到这一点。

5
切线多边形扩展
绘制如下所示的内容: 更精确地说,画一个半径为r的圆,其中n个长度为l的n个均匀间隔的切线。连接这些线的末端以形成一个新的n边正多边形。 规则 r =圆半径 n =切线的数量-必须围绕圆均匀间隔(n> = 3) l =切线的边长 创建一个接受参数{r,n,l}并绘制所需输出的程序。 单位以像素为单位。 只要可以看到所有图形,图形位置就没有限制。 图片很不言自明。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

1
蛙人冠军
游戏 我们大多数人都知道Frogger,这是80年代的街机游戏,其目标是让青蛙安全地越过繁忙的高速公路和充满危险的池塘,安全地到达家中。 一个挑战是发行几个月前制定一个青蛙的克隆。但是,为什么可以在玩 Frogger 时克隆 Frogger?:) 考虑以下简化播放网格: XXXXXXXXXXXXXXXXXXXXXXX North Safe Zone ----------------------- | | <<<< Express Lane West (Lane 1) | | > Gridlock East (Lane 2) | | << Freeflowing Traffic West (Lane 3) | | < Gridlock West (Lane 4) | | >>>> Express Lane East (Lane 5) …

4
平铺,给定顶点配置
任务 给定顶点配置,任务是平铺多边形。 计分 您的分数等于您提交的内容达到的“复杂程度”。复杂度级别是累积的,这意味着要达到#3,您还必须支持#1和#2。 具有相同复杂度级别的提交通过字节计数来区分;最低的胜利。 输入值 输入是一个包含顶点配置的字符串,表示一个顶点图形。也就是说,以点分隔的整数列表,其中每个整数(n)表示一个正则n角,由一个公共顶点连接。 必须支持以下顶点配置: 3.3.3.3.3.3 3.3.3.3.6 3.3.3.4.4 (请注意,顺序反映在顶点图中,因此以下内容确实有所不同) 3.3.4.3.4 3.12.12 3.4.6.4 3.6.3.6 4.4.4.4 4.6.12 4.8.8 6.6.6 输出-复杂度级别1:顶点图形 在此复杂度级别上,输出是显示与给定输入相对应的顶点图形的图像。 输入前面带有一个F,表示应该输出顶点图形,而不是完整的图块。 例如,F3.6.3.6给出以下顶点图形: 输出-复杂度级别2:平铺 在此复杂度级别下,输出的图像是使用对应于给定输入的顶点图形显示均匀平铺的图像。 例如3.6.3.6给出以下平铺: 颜色或格式(没有漏洞)没有限制。 输出-复杂度级别3:双重平铺 在这种复杂性级别上,可以从每个切片形成“双重切片”。这是通过从每个多边形的中心到每个边界多边形的中心绘制线来实现的。 通过在输入前面加上来指定双重平铺V。 例如,V3.6.3.6给出以下双重平铺(红色):

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.