编程拼图和代码高尔夫

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

3
“编写”一个简单的计算器而无需编写任何代码
这很简单: 创建程序时无需编写任何代码。该代码只能包含现有的堆栈溢出问题和解答。 该程序应创建两个随机数并输出数字 添加到, 从中减去 与和相乘 除以 彼此。 规则 您必须包含指向您在答案中使用的问题/答案的链接。您不能修改找到的代码,但以下情况除外: 您可以重命名变量,函数和方法。(这并不意味着您可以更改方法调用,方法是将scanner.nextInt()更改为scanner.nextLine()并声明您正在更改方法名称。更改必须在定义或引用中进行。同一实体。)。如果将变量,函数或方法再次重命名,则该解决方案仍应起作用。 您可以适当地调整缩进。 您可以假定已加载适当的模块以使代码段正常工作。(例如,用于Java和Python的import语句,使用用于C#和C ++的语句,以及所有语言的等效语句)如果代码段中包含适合您的导入,则可以将其移至代码顶部。 如果语言要求代码在某种方法体内执行(例如,public static void main(String[] args)对于Java,static int Main(string[] args)对于C#等),则可以将代码包装在适当的方法中。但是该主要方法的内容必须保持不变。 您必须提供所执行的任何变量/方法/函数/类重命名的明确列表。 您不能摘录摘录(意味着,如果您从帖子中摘取代码块,则就算了全部),请简要说明代码对不熟悉您所使用语言的人的作用。您必须使用此挑战开始之前发布的摘要。 人气比赛,所以最投票获胜! 最后期限 我将接受在8月6日左右投票最多的意见书。

19
无限FTW
所述无限斐波纳契字是一个特定的二进制数字,其通过有限二进制字重复级联计算无限序列。 让我们定义一个斐波那契型字序列(或FTW序列)是任何序列 ⟨W Ñ ⟩其如下形成。 开始使用两个任意的二进制数字数组。让我们将这些数组称为W -1和W 0。 对于每个N> 0,让W¯¯ Ñ ≔w ^ n-1个 ∥w ^ N-2 ,其中∥表示级联。 递归定义的一个后果是,w ^ Ñ总是的前缀w ^ n + 1个,因此,所有的w ^ ķ使得K>Ñ。在某种意义上,这意味着序列⟨W Ñ ⟩收敛到一个无限的字。 形式上,让W¯¯ ∞是唯一的无限阵列使得W¯¯ Ñ是的前缀W¯¯ ∞所有Ñ≥0 。 我们将由上述过程形成的任何无限词称为无限FTW。 任务 写接受两个二进制字的程序或函数w ^ -1和w ^ 0作为输入,并打印W¯¯ ∞,由下面的,额外的,遵守规则: 您可以按任何顺序接受这些词;作为两个数组,一个数组数组,两个字符串,一个字符串数组或一个带有您选择的定界符的单个字符串。 您可以在每对相邻数字之间不使用分隔符或使用一致的分隔符来打印无限单词的数字。 出于所有目的,假定您的代码将永远不会耗尽内存,并且其数据类型不会溢出。 特别是,这意味着由于崩溃而导致的任何STDOUT或STDERR输出都将被忽略。 如果我在我的机器上运行的代码(英特尔i7-3770,16吉布RAM,Fedora的21),一分钟和管道的输出wc -c,它必须打印至少100万位w ^ ∞为(W …

12
表情表情识别
编写一个程序,接受表情符号并输入表情符号是表情符号是开心还是悲伤。 程序接受字符串作为输入或参数,如果输入在快乐表情列表中,则应显示字符串“ happy”,如果输入在悲伤表情列表中,则应显示“ sad”。 您可以假定输入始终是有效的(开心或悲伤)表情符号,周围没有空格或制表符。 这是用空格分隔的开心表情列表: :-) :) :D :o) :] :3 :c) :> =] 8) =) :} :^) :-D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D (-: (: (o: [: <: [= (8 (= {: (^: 这是用空格分隔的悲伤表情符号列表: >:[ :-( :( :-c :c :-< :< :-[ …
25 code-golf  string 

8
您所有的双射基础都属于我们
背景 甲双射基地b记数,其中b是正整数,是双射位置符号,使得使用的b的符号与相关联的值1到b。 与它的非双义对应物不同,没有符号的值是0。这样,每个非负整数n在双射基数b中都有唯一的表示形式。 流行的双射数包括一进制双射基数2(用于bzip2的游程长度编码)和双射基数26(用于电子表格中的数字列)。 定义 在这个挑战中,我们将符号集M定义为 123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=> 和一个从M到自然数的函数i,使得i('1')= 1,…,i('>')= 64。 给定一个介于1和64之间(包括两者之间)的b,我们定义每个非负整数n对应于字符串a k …a 0,由M的符号组成,因此n = b k i(a k)+ …+ b 0 i(a 0)。 这种对应关系是明确定义的并且是双射的。由于将空总和定义为0,因此整数0可以编码为空字符串。 任务 接受三个字符串作为输入: 在1到64之间的输入基b,被编码为双射基64字符串。 非负整数n,被编码为双射基b字符串。 在1到64之间的输出基数B,被编码为双射基数64字符串。 给定这三个输入,将n编码为双射基B字符串。 测试用例 所有测试用例都按b,n,B的顺序指定输入。 Input: "4" "" "8" Output: "" Input: "A" "16" "2" Output: "1112" Input: "2" "122" "A" Output: …

4
几点了?
我确实喜欢节省时间,方法是在手腕上戴三只手表...问题是它们各自分配的时间不同。一只手表比实际时间晚x分钟。一只手表比实际时间早x分钟。最后一块手表显示实际时间。 问题是,我无法确定哪只手表的时间正确。 根据每只手表上显示的时间,确定实际时间。如果无法确定时间,请打印“看着太阳”。 输入: 三个读数,以单个空格字符分隔:H1:M1 H2:M2 H3:M3 在每个读数中,H1,H2,H3表示显示的小时数(0 <H1,H2,H3 <13),而M1,M2,M3表示显示的分钟数(0 <= M1 ,M2,M3 <60)。如果分钟数小于10,则在输入中添加前导0。类似地,如果小时数少于10,则在输入中添加前导0。 输出: The correct time is HH:MM其中HH:MM是正确的时间。如果无法确定正确的时间,则显示Look at the sun。 输入1: 05:00 12:00 10:00 输出1: The correct time is 05:00 输入2: 11:59 12:30 01:01 输出2: The correct time is 12:30 输入3: 12:00 04:00 08:00 输出3: Look at …
25 code-golf  date 

8
CSS彩色高尔夫!
您是网络开发人员,而您的老板已决定更新公司的网站。他认为颜色越少越好,但他希望该网站看起来一样。您有理由认为他不知道他在说什么,但您还是要尝试一下,因为您很无聊。由于该公司有成千上万个网页,并且每个网页都有自己的CSS,因此您决定编写脚本来进行必要的更改。不需要解析HTML。 当前,所有页面都使用字符串rgb(255,0,0)作为颜色。给定三个十进制值(代表CSS颜色属性的RGB值)(按该顺序),返回或打印该颜色的最短字符串表示形式,以便它可用于CSS,如下所示:color:<your-result-here>;。 这是有效的CSS颜色关键字的完整表格。它们不区分大小写。 例子: 请注意,可以使用12位或24位定义颜色。该模式#ABC是的较短版本#AABBCC。Chuck Norris是一种颜色。 您的程序将只接受3个整数,而不是字符串(后面将提到的“奖励”除外)。 0, 0, 0 -> #000 (same as #000000, but shorter) 255, 0, 0 -> red 0, 128, 128 -> TEAL 139, 0, 0 -> DarkRed (OR #8B0000) 72, 61, 139 -> #483D8B 255, 255, 254 -> #fffffe 255, 85, 255 -> #f5f (same …
25 code-golf  css 

5
全国排程冲突锦标赛
(我打算在1542年发布此消息:调度冲突 仍然是当前的xkcd,但是我遇到了调度冲突。) 输入项 输入将是3n代表n事件的元素列表。每3个组中的第一个元素将是事件的名称;第二和第三,分别是开始时间和结束时间。例如: foo 12 34 bar 56 78 表示一个事件foo始于“时间12”(时间仅用整数表示;您可以将它们视为午夜之后的分钟),结束于34,第二个事件bar始于56,结束于78。 事件的名称将始终仅由字母数字字符组成,并且时间将始终为≥0且<1440的整数。结束时间将始终比开始时间至少大1。不保证它们会以任何方式进行排序。 如果愿意,可以将其作为单个以空格分隔的字符串;否则,应将其视为数组,列表,向量或您的语言的等效形式。 输出量 输出应为事件名称的空格分隔列表。输出事件名称的规则如下: 您输出的所有事件都不会相互冲突。例如,对于input a 0 10 b 5 15,您可能不会同时输出两者a,b因为时间冲突(即部分重叠)。如果一个事件恰好在另一个事件开始时结束,则可以同时包含这两个事件。 您可能不会输出称为NSCC“国家日程安排冲突竞赛” 的事件,该事件中始终始终只有一个是输入。您还必须输出至少一个与之发生冲突(部分重叠)的事件NSCC(并且永远也至少会有其中之一)。 在遵循以上两个规则的同时,您必须输出尽可能多的事件。(这样做是为了使您看起来尽可能的忙碌,从而使NSCC丢失似乎更可信。) 也可以将其输出为单个以空格分隔的字符串或数组,列表,向量等。 可能有多个输出。 测试用例 请注意,列出的输出仅是示例。您的代码可能会输出不同的内容,只要它仍然遵循上述三个规则即可(值得注意的是,这意味着事件的数量必须与示例中的相同)。 进:UnderwaterBasketWeavingConvention 50 800 NSCC 500 550 出:UnderwaterBasketWeavingConvention 进:SconeEating 0 50 RegexSubbing 45 110 CodeGolfing 95 105 NSCC 100 200 出:SconeEating CodeGolfing …
25 code-golf 

16
给定两个行星的名称,给定距离
使用下表(源代码)编写一些代码,该代码采用两个行星的名称并返回它们之间的距离: +-------------------+---------------+ | Planets | Distance (km) | +-------------------+---------------+ | Mercury -> Venus | 50290000 | | Venus -> Earth | 41400000 | | Earth -> Mars | 78340000 | | Mars -> Jupiter | 550390000 | | Jupiter -> Saturn | 646270000 | | Saturn -> Uranus | 1448950000 …

21
星期一迷你高尔夫2:截断长文字
星期一迷你高尔夫:每周一发布(希望!)一系列简短的代码高尔夫挑战赛。 许多网络应用程序(尤其是社交媒体)会自动截断较长的文本,使其适合应用程序的格式。在这个挑战中,我们将创建一种算法来自动将一段文本修剪到一定长度。 挑战 挑战的目标是编写一个带有两个参数的程序或函数: T,要截断的文本。 L,返回的最大长度。 并返回T,被以下逻辑截断: 如果T的长度小于或等于L,则不需要截断。返回原始字符串。 将T截短为长度L -2。如果不包含空格或连字符,则将T截断为正L -3个字符,后跟省略号...。 否则,将结果的末尾修剪到最后一个空格或连字符。添加省略号...并返回结果。 细节 T和L可以采用任何顺序和任何格式。 您可以假设3 < L <2 31。 您不能使用U + 2026水平省略号…; 您必须使用三个句点。 输入将不会以空格或连字符开头。 输入将不包含除常规空格以外的任何空格。(没有选项卡,换行符等) 测试用例 输入: "This is some very long text." 25 "This-is-some-long-hyphen-separated-text." 33 "Programming Puzzles & Code Golf is a question and answer site for programming puzzle …
25 code-golf  string 

12
您的好友将坐在哪里?
您和一些伙伴正在打保龄球。总共有N个保龄球。但是,只有N -1个椅子可坐。解决方案很简单:现在轮到谁都没有椅子。然后,当他们的转弯结束时,他们坐在下一个人的椅子上。 让我们举个例子。说你是叫一个,你的四个朋友被命名为乙,Ç,d,和ē。每个玩家都按字母顺序移动,因此您必须先走。由于有5位玩家,因此只有4个席位。您的朋友按以下顺序坐在四个座位中: 中央商务区 你走了,是的,你罢工了!它的乙轮到下一个,让你在他坐在椅子上。现在看起来像这样: 中国教育发展学会 B去。天沟!然后他坐在C的位置,然后C转到下一弯。 珠子 然后C坐在D的椅子上。 BEAC 和d坐在ë的椅子 数模转换器 最后,E坐在您的椅子上。 BDEC 您会注意到,现在每个人的座位都被伪装了。您必须找出X转弯之后,谁会坐在哪里? 输入项 您的程序必须接受用户的两个输入,即字符串和数字。无需提示。该字符串将是1-51个字母字符(BZ和az),且没有重复。这代表您的朋友选择坐的顺序。不会有大写字母A,因为那是您,并且您始终优先。该数字将是您和您的朋友玩的回合总数(不是游戏)。该数字应为正数,大小应合理(小于1000)。 输出量 您的程序必须打印出X圈后您的朋友坐在的顺序,以及该轮到谁。因此,例如,如果X转向之后的订单是BEDGCAHF,而Z转向了,则您的程序必须完全打印以下内容: BEDGCAHF It is Z's turn. 以下是一些示例输入和输出。 input: E, 4 E It is A's turn. input: E, 5 A It is E's turn. input: Bb, 2 AB It is b's turn. input: …
25 code-golf  string 

7
基本的类Pyth语法检查器
Pyth是一种基于Python的高尔夫语言。它使用前缀表示法,每个命令具有不同的Arity(接受的参数数量)。 您的任务是为(不存在的)类Pyth语言Pith编写语法检查器。 Pith的语法 Pith只有8个单字符命令: 01234()" 01234每个都有对应的数字,因此期望后面有很多参数。例如, 400010 是一个正确的髓部程序,因为4后面四个参数0 0 0和10,是其中最后一个1接着一个参数0。为了可视化,我们可以看下面的树: R | 4 | ------------- | | | | 0 0 0 1 | 0 R根节点在哪里。考虑此问题的另一种方法是,每个数字都指相应节点在上面的树中具有的子代数。 这是另一个有效的Pith程序,具有多个基本命令: 210010 对应于 R | ------------- | | 2 1 | | --------- 0 | | 1 0 | 0 另一方面, 3120102100 这不是正确的Pith程序,因为开头3只有两个参数,可以通过查看下面的树来查看它们: R …

3
莱昂哈德(Leonhard)喜欢迷宫
背景 我的儿子Leonhard(4岁)喜欢迷宫。我不知道他从哪里知道迷宫,但他画了迷宫并且很清楚它们是如何工作的: 最近,他开始用绘画创作游戏。这些是他的规则: 黑色正方形表示起点。 钩子表示迷宫的出口(在那儿您会被拉出)。 你可以收集冠冕。 您可以收集金块(圆形的东西)。 您可以前进和后退,但不止于此。 箭头可能会指引您前往出口。(如果他画迷宫供我解决,它们常常会误导人)。 带注释的版本: 蓝色:起点 橙色:冠 黄色:有金块的区域 绿色:挂钩(退出) 粉色:箭头(主要是误导性的) 任务 也许您知道,在4岁时,孩子们开始讲猪肉,有时他不遵守自己的规则,尤其是当他发现自己再也无法到达迷宫的尽头时。 那就是您的角色:既然我一直在为孩子们寻找游戏,那么您会将他的想法变成不可能作弊的游戏。 好吧,我们还需要一些其他的定义: 运动场是一个n* m大小相等的正方形矩形。 一个正方形可以有0到4面墙,每面一面。 一冠价值50分。 一个金块值得20分。 在已经走过的广场上行走会减去1分。 标记正方形以标识玩家在其上行走的频率(0、1或2次) 玩家可以沿着4个方向行走,除非有墙。 输入设备可以是任何东西。请考虑键盘支持。 迷宫必须是可解决的。即,必须有可能从起点到达钩子,并且必须有可能收集所有贵重物品(即使那不会导致最高的得分)。 如果玩家卡住,游戏将结束。 玩家不得因掉下棋而丧命。您可以随心所欲地在完整的迷宫周围放置一堵墙或包裹边缘。 程序将单词(0-65535)自变量作为输入。这是随机数生成器的种子。再次使用相同的种子调用程序会导致相同的迷宫。 奖金: 计算可以收集的最高分。考虑到由于-1分,最好不要收集所有物品。 显示最佳解决方案(以最快的方式获得最高分) 规则 这是一次人气竞赛,因为我希望能够阅读和理解代码并可能适应我儿子的新想法。对不起,打高尔夫球的人,也许您想使用更适合打高尔夫球的规则创建此问题的副本,例如,定义了所有角色的控制台版本。 5月3日最受欢迎的游戏将成为公认的答案。而且,为什么不将其发布在应用商店中?

11
高尔夫运动小贴士
您在Go中打高尔夫球有哪些一般秘诀?我是Code Golf的新手,正在寻找可以应用于一般至少对Go特定的代码高尔夫问题的想法。 请对每个答案只给一个小费。
25 code-golf  tips 

2
正则表达式模式的部分排序
出于这个挑战的目的,我们说如果整个字符串(而不只是子字符串)都与该模式匹配,字符串匹配。 给定两个正则表达式模式 一 和 乙,我们说 一个 是更专业比 乙 ,如果每一个被匹配的字符串 一个 也是由匹配 乙 左右,但没有别的办法。我们说, 一个 是等同于 乙 如果两个模式匹配完全相同的一组字符串。如果两个模式都不比另一个更专业,或者它们都不等效,那么我们就说 A 和 B 是无可比拟的。 例如,模式Hello, .*!比.*, .*!; 更专业。模式(Hello|Goodbye), World!和Hello, World!|Goodbye, World!是等效的;以及模式Hello, .*!和.*, World!是无与伦比的。 关系“比……更专业”定义了一组正则表达式模式的严格偏序。特别是,对于所有模式 A 和 B,下列条件之一完全成立: A 比B更专业 (A < B)。 B 比A更专业 (A > B)。 A 和 B 是等效的(A = B)。 …

3
在庞大的Boggle开发板中寻找程序
这64 x 64文本块中的每个字符都是从95个可打印的ASCII字符中随机选择的。 /rq$:Zy5*g'$DeGXX2o8y "{@Cg:FR9qih}xh >5$DsF1Fs5Ao~smFp;.RJbV )U c4\(|Sx*V$10G9xO:NjHKasem%,\9[pPm@&kTaN~HC[;9`lgqlAH(7dt0a-5}LJ[ &sifw9V-.PLRoD~F'dJYA^Q)L#h>$9h!B4b&ceKp8~HndzDm#1/ySydrf5T8[Y%4 U9>HLQ74Qf[^V9tpWrKFcFxZJ::4?z/o]3u,V[B&hB9lFYA0:rW#yql5z9.d*D}U :M2*O9'7_HMGw_=%@hR>O+(@Dr6MIt(=/{-{4lia0Vmws32wr(fnTmT%HSo&7!uz \KZWG&KnXh+6E+Q>%pV(<Bnm-d+p~y~]Ta"aw9)]0A_AHz\tP3&}1R^/yPPSgN?8 ".7|Uj)S7-k[`yeLO~P2a?z3wiS(R-\k'?z(pVm;;D^k/q84?&7:,E*9$UQ"UbBJ ME]&*R ,*7PDF4Tw*-;De{YeP_al.CJcJX`@V_y+>^<h{L[^Y"!RxjN^lyA_/Y=( #C>Zo#Sl;UUD5ChIj'L@rkELk%S*]a$87j\\n;}796m/\NPL>8d-T-hR!7ftw ?A tV5"E309bAv$jhE6\'8f?VGlBb?z#V;F((3'|}$tfpiNB>"*mxc,X1s:/%x*JQAL rxYXUJsd?X}^yc|'16539vd=psU'>|y/!$-TRamKcJk^2-aD35h7CcaRNue"8#{; @yUq?*(72I8@I)So+]RwtKy:mLhjG/f#:U<TXml<PtX*+,ngfZt75-q*gSsyI2tS |*M*;yz6u2(LZ>W`bth-7G~>|dh'pm}]@"#Oq9%o\W)b,gh%b1O]4F:EGb7ERI=@ ehMo69slKw=S@<j*Q4sfd\1')#)V&yaPF%%ZG6VK\_-$Cab,nrlW"O(<tu&xU=I& |[g4k2L;FD)=yX0SsE-|vI(mDOccuU(+m\wxgrJxi8ZP[uD)L.!K@]%@q`!pk8Yx ?PZaS3;x,7nK~IHlrCGy~xq:@K/CJ1J^oeac&Tv?6[H>>0lu?(/bh@6J^@S?IY-| @tdN$K=Ci2;_0Du;L2OO'en|]<_`nX5p3Bes9`8{}fRCV$X&aoQGYS'$j%r<2709 UwETsAo^d!aUZ0vN5,Yq\n%JAIm}%O88FAJK^Jt&=jM\Q1^+^|X8\._"l%hlF+yH +c^FBFxTGz|f|#kElQs)mS64-3Z\An]|[rQo"OQ+ IP"ARdJ}/OYFQF_/{B 73mU UPvxNByN[2TT,XgRZ_LwolUVWuR)DjYI7j#mmA8m?&Y}}[_h8@Y-R*,#=1\D*&@* ePW.w{@z3moe3Vztd,>?*~ZQUvn8$+xw$$f92D*kPZ":;lcTr3m&{*?j$FgZK|cU IAd'0C{<4b}NuhX1B#gmk'oF4+(@fzP^T?hF/#]g^y rb5][)X-d4Q't~1]HE"tZ p2Z,%H0$EWF/%|UQm?&]E~=v;9YwxrSs%}df`[ `SfXMJWt86UY1duGAAKkFSrH! oUyB[soS!N%XYwX]%n K^}CcTE?~.,8`C&l)Jjjp5|z))!o/ "G)sj,{OETsi:KE 4E,':a=,T~YlxdF^<\$fE|f:_-RG}7=m%g\-9a*X]`n<P$D+q7O`+$P&!\"NUs7n hL@0s 7i^Xp\._4$lZIB9Ql AXX_00K=<hp%55KSO6yWH~cGe%|(p_WzlhPUbH{? o5b4pi(,]&&jB\hGa:\DQbrYc,n|,b)_E{n~i~+JSxn?%/qJVm|B 8"Jf||L.|M- KRxH;T^Z7%ZufyO=nI;[v1\8ZTg\_)ect4DvMTvqtoo(;b~J&'~E2TTD!w1BvGv Q+1sv>q%1$BaCm%(\%uGH*]emoFwejkhb$gKm=DVG#&:p'";s)&MY30q_cG=.CKJ q,aWTi|^w2wg3<G_y<n+^Xq2ymHFs#7z[x0l'Lz6N>Mpo?=hAd&58HVMhsh(kQH5 &kSivkn`,KON9xb:$M[L15!D6W?\ASWc#}V#2U;qxKhtil73,!iuG~(lr[tPJQ6w IZ)0Vp{kEUID:vgwmTMQ#Y]NdX6{'/3bI2x9k 4[>j)&Q0U,t,iA#A%4929o6+n_ …

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.