编程拼图和代码高尔夫

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

30
吉米会掉下平台吗?
背景故事 认识我的朋友吉米: /o\ 吉米(Jimmy)是一个小人物,喜欢站在平台上。这是吉米安全地站在平台上的地方: /o\ ------------- 现在,吉米已经有了很好的平衡感,因此他可以放下一只脚,安全地站起来,就像这样: /o\ ------------------- 尽管如果他站着两个或更多身体部位离开平台,他将跌倒。这两个都是吉米将倒下的例子: /o\ /o\ ---------- ---------------------- 挑战 您面临的挑战是编写一个程序,在给出吉米平台和位置的字符串的情况下,确定吉米是否可以站在平台上而不脱落。 输入:两行显示Jimmy的位置和他下面平台的位置。这可以来自两个单独的输入,单个输入或某种数组。 您可以通过任何合理的形式接受输入,包括功能和标准输入。如果您的语言不支持其他输入法,则仅求助于硬编码。 输出:布尔值true和false,或者整数1或0分别表示true / false。 布尔值取决于Jimmy是否可以留在平台上-如果Jimmy可以留在平台上,则为true;如果他会跌落,则为false。 平台大小是任意的,可以随意更改。您的程序应说明这一点。 平台的长度不能为零,并且平台必须完整(平台上没有孔)。 请记住,吉米的两个身体部位悬在平台上时会掉下。身体部位是他身体的一个ASCII字符。 在平台末尾不需要尾随空格,但是您的程序应考虑两种情况,即平台后面有空格而没有空格。 注意标准漏洞禁止。 测试用例 /o\ ✔️ TRUE ------------- /o\ ✔️ TRUE ---------- /o\ ❌ FALSE ------------------ /o\ ❌ FALSE ------- /o\ ❌ FALSE - 计分 这是代码高尔夫球,因此最低字节数为准。 …

7
源代码变态
mbomb007要求我们编写一个自毁程序。这是一个有趣的挑战,但是我个人不喜欢鼓励自己的程序自残。我喜欢认为,每个程序的核心都是一只等待爆发的美丽蝴蝶。 因此,对于我的第一个Code Golf挑战,我挑战Stack Exchange将蝴蝶变身。您的程序应接受自己的代码作为输入和输出,I am a caterpillar!然后接受相同语言的另一个程序的代码(您可以在输出之间添加一个分隔符,但是我们说的是蝴蝶,所以漂亮才算重要!)。第二个程序应该输出I am a beautiful butterfly! 变形:该程序应自行修改,这就是为什么将其本身作为输入传递的原因。我不想一个无聊的嵌套程序,只不过是一个打印语句,I am a caterpillar!然后打印源代码。您必须使代码本身变形,因此,最无聊的可接受答案是将其打印出来I am a caterpillar,然后从输入中截取一个字符串(恰好是代码)并将其打印出来。当然,这是一个非常棘手的小要求,因此应将其视为“挑战的精神”。正式的要求将设置为“如果给您的程序一个与程序长度相同的随机字符串,则在I am a butterfly运行第二个程序时,打印的机会应该少于5%。” 摘要: 编写一个程序,当提供自己的代码作为输入时,先打印程序,I am a caterpillar!然后打印源代码块(在它们之间是否有定界符)。 编译/解释为相同语言时,第二部分源代码将输出 I am a beautiful butterfly! 如果您的程序没有以其自身的源代码作为输入,而是被赋予一个随机字符串,该字符串与自身的代码不匹配,则结果必须无法编译/解释,或者必须I am a butterfly!至少打印95%的随机字符字符串(精神:您应该从输入中读取您自己的源代码,并将其拼接成蝴蝶状)。 只要您坚持变形概念的精神,修改自己的代码,我对您不感到满意,但是如果您尝试玩漏洞游戏来解决输入问题,证明这一点。 适用标准漏洞 我希望通过它们的美观来判断它们,但这是绝对非量化的方法,因此可以使用通常的“字节数”路由来判断 奖励:-20%-选择与程序的前3个字母不匹配的任何3个字母字符串。如果运行卡特彼勒程序,但修改输入,以便将前3个字符更改为指定的字符,请打印I am Batman!。永远是蝙蝠侠。(相同的随机字符串规则也适用于此……变态!) 简单示例(python): """ print "I am a beautiful butterfly!" …

28
输出棋盘的所有白色或黑色方块
介绍 这就是棋盘的样子。 您可以看到这a1是一个黑色的正方形。但是,b1是浅色正方形。 任务 面临的挑战是,给定的dark,light或者both,输出所有的暗,光或所有正方形 的隔膜(如空白或换行)。所有正方形的顺序无关紧要。 测试用例 Input: dark Output: a1 a3 a5 a7 b2 b4 b6 b8 c1 c3 c5 c7 d2 d4 d6 d8 e1 e3 e5 e7 f2 f4 f6 f8 g1 g3 g5 g7 h2 h4 h6 h8 Input: light Output: a2 a4 a6 a8 b1 …

5
计算4频段彩色编码电阻器的电阻
电阻器通常具有色码带,用于标识其电阻(以欧姆为单位)。在此挑战中,我们将仅考虑常规的4频段,棕褐色,轴向引线电阻器。我们将它们表示为: xyzt 其中x,第一个有效数字的第一条带y是,第二个有效数字z的第二条带,乘数t的第三条带,公差的第四条带。 每个xyzt代表一个字母,代表乐队的颜色: K = Black N = Brown R = Red O = Orange Y = Yellow G = Green B = Blue V = Violet A = Gray W = White g = Gold s = Silver _ = None 因此,例如NKOg一些特定的电阻器。 可以借助此表来计算电阻: 如表所示: x并且y可以是任何字母除外g,s和_。 z除了可以是任何东西_。 我们会限制t仅是g,s或_。 (这是一个方便的电阻计算器,处理与我们完全相同的一组电阻器。) …

30
实施Bogosort
为解决数独太辛苦?甚至是蛮力版本?这是一个编码练习,要容易一些。我希望。:-P 编写最短的函数来实现bogosort。具体来说,您的功能应: 以数组(或您的语言的等效形式)作为输入 检查其元素是否按顺序排列;如果是这样,返回数组 如果不是,请重新排列元素,然后重新开始 入围时间最短者获胜。在平局的情况下,支持自定义比较器(和/或伪随机数生成器)的函数会受到青睐。通过支持较早的提交,可以解决任何剩余的联系。 说明:当然,您可以使用所需的任何元素类型,只要可以通过某种方式订购它们即可。而且,改组必须是统一的;这与“我将快速排序并改组”无关。:-)

30
行人余弦
我的老板只是告诉我写一个余弦函数。作为一名数学高手,我立即想到了合适的泰勒级数。 cos(x) = 1 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ... + (-1)^k x^(2k) / (2k)! + ... 但是,我的老板很挑剔。他希望能够精确指定要计算的泰勒级数的项。你能帮我写这个功能吗? 你的任务 给定x从0到的浮点值2 pi且n小于的正整数100,计算n上给出的泰勒级数的第一项的和cos(x)。 这是代码高尔夫球,因此最短的代码获胜。输入和输出可以采用任何标准方式进行。禁止出现标准漏洞。 笔记 输入可以采取任何形式合理的,只要有明确分开x和n。 输入和输出应为浮点值,至少与使用具有某些标准舍入规则的单精度IEEE浮点数计算公式的精度一样。 如果对所使用的语言有意义,则可以使用精确的有理量进行计算,但是输入和输出仍应为十进制形式。 例子 x | n | Output ----+----+-------------- 0.0 | 1 | 1.0 0.5 | …

20
Stewie的顺序:+ *-/ + *-/
让我们使用四个基本运算,加法+,乘法*,减法-和除法/(浮点数,而不是整数)。 Stewie的顺序定义如下: x = [x(1), x(2)] // Two initial numbers (one indexed) x(3) = x(1) + x(2) x(4) = x(2) * x(3) x(5) = x(3) - x(4) x(6) = x(4) / x(5) x(7) = x(5) + x(6) ... and so on. 挑战: 取两个非负整数(x(1), x(2))和一个正整数N作为输入。 x(1)并且x(2)将是序列的前两个数字,并且N将是您必须输出的序列的长度。(您可以选择使列表从0开始,在这种情况下N,长度将比长度小1)。 您不能假设x(2) >= x(1)。 N>2如果从1开始,则始终为(>1如果从0开始)。 您不必处理零错误。 …

30
该挑战使用“ +”字符
您的任务:给定一个数字n,生成一个“ +”号,该符号n远离其中心。如果这令人困惑,请签出测试用例。 输入的标准方法:输出必须是字符串或打印的。有标准漏洞。 Input: 1 Output: + ] 1 away from center `+`. Input: 2 Output: + ] 2 away from center `+`. +++ ] 1 away from center `+`. + Input: 3 Output: + ] 3 away from center `+`. + +++++ + + 这是代码高尔夫球,所以最短的代码获胜!

4
沿轮廓移动箭头
沙盒 给定一组闭合的非重叠2d轮廓(即使在对角线上也至少间隔一个空格),并且箭头始终沿相同的顺时针或逆时针方向(每个轮廓都有自己的方向)和正数方向n移动箭头n在各个方向上沿着轮廓移动。箭头分别由> v < ^右,下,左和上方向表示。那里的其他字符是-(水平),|(垂直)和+(角)。当箭头位于角上时,它将保持其当前方向并仅在转弯后才更改。 在任何两个角之间始终会有一个直线段(或空间)(例如+-+水平方向和垂直方向类似),也就是说,U禁止急转弯。拐角之间的线段是垂直或水平的,拐角处的弯曲始终为90度。 输入: 正整数-- n步骤数 轮廓的ASCII表示-它可以是多行字符串,字符串列表,字符列表等。 输出: 带有所有箭头的相同轮廓n在每个轮廓的整体方向上移动了台阶。 测试用例: 1。 输入: n = 1 +----->-> | | | v---+ | | +---<-------+ 输出: +------>+ | v | +>--+ | | +--<--------+ 2。 输入: n = 2 +-----+ +---+ | | | | +-->--+ | v | …

12
信箱验证器
《纽约时报》每天都有一个名为Letter Boxed的在线游戏(链接位于付费专栏后面;该游戏也在此处进行描述),该游戏在广场上显示如下: 您将获得4组3个字母的字母(每个组对应于图片的一侧);没有字母出现两次。游戏的目的是找到由这12个字母组成的单词(仅这些字母),以便: 每个单词至少3个字母长; 连续字母不能来自同一侧; 一个单词的最后一个字母成为下一个单词的第一个字母; 所有字母至少使用一次(字母可以重复使用)。 在这个挑战中,您会得到字母和单词列表。目的是检查单词列表是否是有效的Boxed解决方案。 输入值 输入包含(1)4组3个字母和(2)单词列表。它可以是任何合适的格式。 输出量 如果单词列表是对那些4×3字母的“盒装”挑战的有效解决方案,则为真值,否则为假值。 测试用例 字母组= {{I,C,O}, {M,R,E}, {G,N,S}, {A,P,L}}。 真实价值观 盗版,关闭 作物,航行,瘦肉,无腿,ENIGMA 假值 朝圣,经济(因为他们在同一边,所以不能有CO) 作物,风帆,瘦肉,无腿(未使用G和M) 封条,信封(U不是12个字母之一) ENCLOSE,PILGRIMAGE(第一个单词的最后一个字母不是第二个单词的第一个字母) SCAMS,SO,ORGANISE,ELOPE(所有单词的长度必须至少为3个字母)。 请注意,在此挑战中,我们不在乎单词是否有效(词典的一部分)。 得分: 此代码高尔夫球(最低字节得分)获胜!

8
使用+和*查找一个数以获得数字
介绍 您的目标是找到最少的数量,您需要将该数量相加或相乘才能获得输入值,这是A005245。 输入值 一个正整数Ñ。 输出量 必须加/乘以得到N的最小数目。 样本输入 7 样本输出 6 说明 (1+ 1+ 1)*(1+ 1)+ 1= 7 因为这需要6一个,所以输出是6 测试用例 1 1 2 2 3 3 5 5 10 7 20 9 50 12 由于这是一个代码高尔夫挑战,因此最少的字节数将获胜。

14
原始位检查
编写一个程序/函数,该程序需要一个介于000到255255255两个整数,并返回数字的二进制形式是否恰好相差一位。 例如,111和000具有二进制形式00000001和00000000,它们相差一比特。同样,152152152和242424是010011000和000011000,因此它们返回true。 但是,您的代码必须是原始的,以便如果程序中的任何一位被翻转,它都将引发错误。例如,如果您的程序是单个字节a(01100001),则所有8种可能的修改程序: á ! A q i e c ` 必须抛出一个错误。确保您按字节进行修改(例如,á实际上是在上面表示字节225225225,而不是实际的两个字节字符á)。 测试用例: 0,1 => Truthy 1,0 => Truthy 152,24 => Truthy 10,10 => Falsey 10,11 => Truthy 11,12 => Falsey 255,0 => Falsey 规则: 提供一个可以验证您的程序是否正确的测试框架,因为会有很多可能的程序(字节数* 8),或者完整的原始证明。 发布程序前,请确保您的程序有效。 输出需要为真/假(两种方法都可以),或者两个截然不同的非错误值 错误可以是运行时,编译器,解释器等。

19
旋转列
给定一个整数k和一个文本块,或者一个内部数组可能具有不等长的2d数组(类似于一个文本块),则将第k列中的每个字符或元素向上或向下旋转到下一个位置存在。 例 旋转以下文本的第20列(从1开始): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. 输出: A line with more thtn k characters. A longer line with …

26
佩尔方程的基本解
给定一些非整数的正整数,找到相关的Pell方程的基本解ññn(x ,y)(X,ÿ)(x,y) X2- ñ ⋅ ÿ2= 1X2-ñ⋅ÿ2=1个x^2 - n\cdot y^2 = 1 细节 基本是一对整数满足等式,其中最小且为正。(总有平凡的解未被计算。)(x ,y)(X,ÿ)(x,y)X ,ÿX,ÿx,yXXx(x ,y)= (1 ,0 )(X,ÿ)=(1个,0)(x,y)=(1,0) 您可以假设不是正方形。ññn 例子 n x y 1 - - 2 3 2 3 2 1 4 - - 5 9 4 6 5 2 7 8 3 8 3 1 9 …

12
𝗔𝗹𝘁𝗲𝗿𝗻𝗮𝘁𝗼𝗿
介绍 尝试将单词转换为两种不同的unicode字体。 挑战 您的任务是将输入字符串转换为𝖲𝖺𝗇𝗌和𝗕𝗼𝗹𝗱Unicode字符。 所有大写单词都应变为小写case𝗕𝗼𝗹𝗱𝗕𝗼𝗹𝗱单词。 例如:WORD->𝘄𝗼𝗿𝗱 所有小写​​单词都应成为𝖲𝖺𝗇𝗌单词 例如:other words->𝗈𝗍𝗁𝖾𝗋 𝗐𝗈𝗋𝖽𝗌 所有大小写混合的单词应保持不变 例如:Mixed Case Words->Mixed Case Words 句号和空格应保持不变。 单词之间用空格或句点分隔 例如(突出显示的内容是单词): Hello。This is a word。S。O。are these 输入:包含字母,空格和句点([A-Za-z .]+)的字符串 输出:格式化的字符串 因为这是一场高尔夫挑战,所以最少的字节数获胜 输入和输出示例 输入: 这是可以输入的示例“ STRING”。它可以包含多个句子。 输出: 𝗂𝗌.𝗈.𝘂.𝗹.𝖽。𝗶𝗻𝗽𝘂𝘁𝘁𝗲𝗱。𝖼𝖺𝗇。 参考 Math Sans Bold:𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇(字符120302至120327) Math Sans:𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓(字符120250至120275)

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.