Questions tagged «code-golf»

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

9
莱文施泰因邻居
最平方数具有至少1个不同的平方数与它们的Levenshtein距离正好1.对于一个给定的正方形,每个满足该条件被称为正方形的Levenshtein邻居的。例如,是Levenshtein的邻居,因为只需要1次编辑()。但是,不是Levenshtein的邻居,因为它至少需要进行2次编辑。具有前导0的数字()不是 Levenshtein邻居。Xxxx 36 16 1 → 3 64 16 2025 → 025Xxx3636361616161 → 31→31 \to 36464641616162025 → 0252025→0252025 \to 025 您的任务是将平方数用作输入,并以任何合理的格式输出Levenshtein邻居的完整列表。如果愿意,您可以在列表中包括重复的邻居,但是您可以不包括原始输入,因为它本身不是Levenshtein邻居。 任何合理的格式都应在输出之间包含某种分隔符(例如,或换行符),并且可以输出具有相应Unicode值(即Brainfuck)而不是数字本身的字符。输出的顺序无关紧要。 此输入将始终是大于的平方数。您的程序应该没有理论上的限制,但是如果由于实际原因(例如超过32位数字)而导致大量失败,那就完全可以了。000 如果输入没有任何Levenshtein邻居,则输出必须清楚地反映这一点,例如不输出任何内容,空数组/字符串,负整数,等。000 这是code-golf,因此以字节为单位的最短代码获胜。 测试用例 这些是到的平方的结果:1个11202020 1: 4, 9, 16, 81 4: 1, 9, 49, 64 9: 1, 4, 49 16: 1, 36, 169, 196 25: 225, 256, 625 …

20
重新排列矩阵两次
您将得到一个平方矩阵,以及一个长度为的列表(或向量),包含数字到(或到)。您的任务是根据指定的顺序对矩阵的列和行重新排序。n×nñ×ñn \times nA一种Auüunñn11个1nñn000n−1ñ-1个n-1A一种Auüu 也就是说,你将构造一个矩阵其中个元素是第元件。您还应该输出该动作的逆函数;即,第(i,J)个元素将在位置结束在一个新的矩阵。B乙B(i,j)(一世,Ĵ)(i,j)(u(i),u(j))(ü(一世),ü(Ĵ))(u(i),u(j))A一种AA一种A(u(i),u(j))(ü(一世),ü(Ĵ))(u(i),u(j))CCC 例如,假设A=⎡⎣⎢112131122232132333⎤⎦⎥,u=[312]一种=[111213212223313233],ü=[31个2]A = \begin{bmatrix} 11 &12& 13 \\ 21& 22& 23 \\ 31& 32& 33 \end{bmatrix},\quad u=\begin{bmatrix}3 & 1 & 2\end{bmatrix} 输出应为B=⎡⎣⎢331323311121321222⎤⎦⎥,C=⎡⎣⎢223212233313213111⎤⎦⎥乙=[333132131112232122],C=[222321323331121311]B = \begin{bmatrix}33 & 31 & 32 \\ 13 & 11 & 12 \\ 23 & 21 & 22 \end{bmatrix},\quad C= \begin{bmatrix}22 & 23 & 21 …

12
LípínguapuadopoPêpê
“LínguadoPê”(或P语言)是在巴西和葡萄牙与葡萄牙语一起使用的语言游戏。它也以其他语言(例如荷兰语和南非荷兰语)而闻名。(维基百科) 这个语言游戏中有一些方言。玩游戏时使用的不同语言甚至都有自己独特的方言。有些人会说流利的P语言,最好的人甚至可以当场将任何文本翻译成他们喜欢的方言! P语言 在此挑战中,我们将使用双向通话方言。 要将文本翻译成P语言,文本中的任何元音序列都附加一个p字符,后跟该元音序列的副本。 挑战 编写一个接受字符串作为输入并以P语言输出其翻译的函数或程序。 输入仅包含可打印的ASCII字符。 输出仅包含翻译后的输入和可选的尾随换行符。 元音是以下任何字符aeiouyAEIOUY。 元音序列由任何其他字符定界。该字符串"Aa aa-aa"具有三个元音序列。 可以选择从翻译的输出字符串中省略前导和尾随空格。 例子 "" => "" "Lingua do Pe" => "Lipinguapua dopo Pepe" "Hello world!" => "Hepellopo woporld!" "Aa aa-aa" => "AapAa aapaa-aapaa" "This should be easy, right?" => "Thipis shoupould bepe eapeasypy, ripight?" "WHAT ABOUT CAPS?" => "WHApAT …
20 code-golf  string 

11
使所有方块爆炸
您将得到一个宽度为的方阵,其中包含平方数。≥2≥2\ge2≥1≥1\ge1 您的任务是使所有平方数“爆炸”,直到它们都消失。您必须打印或返回最终矩阵。 进一步来说: 在矩阵中寻找最高的平方。x2x2x^2 寻找其最小的相邻邻居(水平或垂直且不环绕)。nnn 将替换为,将替换为。x2x2x^2xxxnnnn×xn×xn\times x 重复从步骤1开始的过程,直到矩阵中不再有正方形为止。 例 输入矩阵: (62519636324)(62536196324)\begin{pmatrix} 625 & 36\\ 196 & 324 \end{pmatrix} 最高的正方形爆炸成两个部分,并与最小的邻居合并,变成:625625625625−−−√=25625=25\sqrt{625}=2536363636×25=90036×25=90036\times 25=900 (25196900324)(25900196324)\begin{pmatrix} 25 & 900\\ 196 & 324 \end{pmatrix} 最高的方块爆炸并与最小的方块合并:900900900252525 (75019630324)(75030196324)\begin{pmatrix} 750 & 30\\ 196 & 324 \end{pmatrix} The highest square 324324324 explodes and merges with its smallest neighbor 303030: (75019654018)(75054019618)\begin{pmatrix} …
20 code-golf  matrix 

8
在圆环上循环
挑战 这一挑战将让你写一个程序,它在两个整数n和m输出的数量不相交的环n通过m由开始做圆环(0,0),只有采取措施,并在右边。您可以将环面视为顶部和底部以及侧面均具有环绕效果的网格。 这是代码高尔夫球,因此最少的字节获胜。 例 例如,如果输入为n=m=5,则一个有效的步行路线为 (0,0) -> (0,1) -> (0,2) -> (1,2) -> (2,2) -> (2,3) -> (2,4) -> (2,0) -> (3,0) -> (4,0) -> (4,1) -> (4,2) -> (4,3) -> (0,3) -> (1,3) -> (1,4) -> (1,0) -> (1,1) -> (2,1) -> (3,1) -> (3,2) -> (3,3) -> (3,4) …

16
古巴总理
给定自然数,返回第个古巴质数。nñnnnn 古巴Prime 古巴素数是形式的素数 p=x3−y3x−yp=x3−y3x−yp = \frac{x^3-y^3}{x-y} 其中且或y>0y>0y>0x=1+yx=1+yx = 1+yx=2+yx=2+yx = 2+y 细节 您可以使用最适合您的索引(基于0或1)。 您可以返回给出的指数个主要或第一按升序排列的素数,或者你可以返回一个无限列表/发电机产生递增的顺序的素数。nñnnñnnñn 测试用例 前几个术语如下: (#1-13) 7, 13, 19, 37, 61, 109, 127, 193, 271, 331, 397, 433, 547, (#14-24) 631, 769, 919, 1201, 1453, 1657, 1801, 1951, 2029, 2269, 2437, (#25-34) 2791, 3169, 3469, 3571, 3889, 4219, 4447, …

8
爱丽丝的第一个代码审查
爱丽丝是一家公司的实习生,该公司使用Brainfuck作为客户端和服务器端开发的主要语言。爱丽丝(Alice)刚刚编写了她的第一个代码,在为第一次代码审查做准备时,她有点紧张。 爱丽丝(Alice)希望使代码正确格式化并看起来不错,但是她没有时间阅读328页的公司代码样式指南,因此她决定将其格式化为一个完美的正方形。code,代码长度可能不足以形成正方形,因此她决定在中间留一个矩形间隙。间隙必须完全居中,并尽可能接近正方形。 例子 ++++++ +++++ +++++ +++++ +++++ +++++ ++++++ +++++ +++++ + ++ ++ ++ +++++ ++++++ ++ ++ + + + ++ + + ++++++ +++++ +++++ +++++ ++ ++ +++++ ++++++ +++++ +++++ +++++ +++++ +++++ Perfect OK Acceptable Unacceptable No way! Nope. 编写程序或函数来帮助Alice。给定Alice的代码作为输入字符串,请尽可能输出如下所述的格式正确的代码。如果无法格式化,请输出哭泣的表情符号:~(。 这是代码高尔夫,因此答案以字节计分,目标是减少字节数。 约束条件 您的程序或函数应将单个字符串作为输入并输出一行或多行文本(如果实现函数,则返回多行字符串或字符串数​​组)。 …

22
整数的旋转位置
挑战: 输入: 正整数的排序列表。 输出: 在将每个整数中的数字向左旋转其索引次数并再次对修改后的列表进行排序后,仍处于完全相同索引的整数数量。 例: 输入:[8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] 输出(基于0的索引):6 输出(基于1的索引):5 为什么? 基于0的索引: After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471] Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Input indices: 0 1 2 3 4 5 6 7 8 9 10 11 Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Modified indices: 0 2 1 3 5 4 7 6 8 9 …

17
整数的平方根距离
给定十进制数k,请找到最小的整数n,以使的平方根n在k整数之内。但是,距离应为非零- n不能是完美的正方形。 给定k,十进制数或分数(以您更方便为准),这样0 < k < 1,输出最小的正整数n,使得的平方根n与最接近的平方根的整数之n差小于或等于k但非零。 如果i是与的平方根最接近的整数n,则寻找第一个n位置0 < |i - sqrt(n)| <= k。 规则 您不能使用语言对非整数的充分实现来解决问题。 否则,您可以假定这k不会导致任何问题,例如,浮点舍入。 测试用例 .9 > 2 .5 > 2 .4 > 3 .3 > 3 .25 > 5 .2 > 8 .1 > 26 .05 > 101 .03 > 288 .01 > 2501 .005 > …

30
电路中的并联电阻
介绍: 两个电阻器,R1并且R2,在平行(表示R1 || R2)具有组合的电阻Rp给定为: RP2=R1⋅R2R1+R2RP2=R1⋅R2R1+R2R_{P_2} = \frac{R_1\cdot R_2}{R_1+R_2} 或在注释中建议: RP2=11R1+1R2RP2=11R1+1R2R_{P_2} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}} 三个电阻器,R1,R2和R3在平行于(R1 || R2 || R3)具有组合的电阻(R1 || R2) || R3 = Rp || R3: RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3R_{P_3} = \frac{\frac{R_1\cdot R_2}{R_1+R_2}\cdot R_3}{\frac{R_1\cdot R_2}{R_1+R_2}+R_3} 或者,再次如注释中所建议: RP3=11R1+1R2+1R3RP3=11R1+1R2+1R3R_{P_3} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}+ \frac{1}{R_3}} 这些公式当然可以扩展到无限数量的电阻器。 挑战: 以正电阻值列表作为输入,如果将它们并联放置在电路中,则输出组合电阻。您可能没有假定电阻的最大数量(当然,您的计算机可以处理的除外)。 测试用例: 1, 1 0.5 1, 1, 1 …

9
翘曲的棋盘
挑战在于如何构建棋盘,在棋盘中,正方形大小而不是整个正方形都遵循一定的非递减顺序,如下所述。 董事会是迭代定义的。的尺寸的板放大到大小通过尺寸的平方的“层”通过延伸下来,并在正确的,其中是最大的除数不超过。对角线上的正方形总是相同的颜色。n×nn×nn \times n(n+k)×(n+k)(n+k)×(n+k)(n+k)\times(n+k)kkkkkknnnn−−√n\sqrt{n} 具体来说,考虑使用以#和表示的颜色的木板+。 初始化棋盘到 # 到目前为止,该板的大小为。唯一的除数为,并且不超过。因此,我们采取,并通过添加尺寸的平方的层延伸的板,具有在对角:1×11×11\times 11111111–√1个\sqrt{1}k=1k=1k=1111# #+ +# 到目前为止构建的板的大小为。的除数是,最大除数不超过是。所以再次,板子扩展到2×22×22 \times 22221,21,21,22–√2\sqrt{2}111k=1k=1k=1 #+# +#+ #+# 大小是。。延伸到3×33×33 \times 3k=1k=1k=1 #+#+ +#+# #+#+ +#+# 大小为 x。现在,因为是的最大除数,不超过。扩展一个厚度为的层,该层由大小为 ×的正方形形成,对角线颜色:4×44×44 \times 4k=2k=2k=22224444–√4\sqrt 42222×22×22\times 2# #+#+## +#+### #+#+++ +#+#++ ##++## ##++## 大小为。现在。扩展到大小。现在。扩展到大小。现在。扩展到大小。现在。扩展到:6×66×66 \times 6k=2k=2k=28×88×88 \times 8k=2k=2k=210×1010×1010 \times 10k=2k=2k=212×1212×1212 \times 12k=3k=3k=3151515 #+#+##++##++### +#+###++##++### #+#+++##++##### +#+#++##++##+++ …

30
计算数组的重复次数
您将收到一个数组,并且必须返回多次出现的整数数。 [234, 2, 12, 234, 5, 10, 1000, 2, 99, 234] 这将返回2,因为每个234和2出现不止一次。 [234, 2, 12, 234] [2, 12, 234, 5, 10, 1000, 2] 该列表的长度永远不会超过100k,并且列表内的整数始终在-100k和100k之间。 如果整数出现多次,则应将其计数,因此,如果整数出现3次,则它仍将仅计为一个重复的整数。 测试用例 [1, 10, 16, 4, 8, 10, 9, 19, 2, 15, 18, 19, 10, 9, 17, 15, 19, 5, 13, 20] = 4 [11, 8, …

22
他们叫我莫尔斯探长
您的任务(如果您选择接受它)是确定给定的输入字符串是点重还是Dash重。 当字符串的摩尔斯表示形式包含的点多于破折号时,则表示该点很重。例如,字母E是单个点,这意味着它是点重的。 输入值 输入字符串仅包含[a-z]或范围内的字符[A-Z]。您可以决定它们应该全部为大写还是全部为小写。AAA很好,aaa很好,aAa不是。 输入字符串的长度始终至少为1个字符。 您可能会假设输入字符串永远不会有相同数量的点和破折号。 输出量 对于包含更多点字符的输入,您应该返回Truthy。 对于包含更多破折号的输入,应返回Falsy。 编辑:我也将允许点的正值和破折号的负值。 测试用例 | input | morse representation | result | |------------------------------------------------| | S | ... | Truthy | | k | -.- | Falsy | | HELLO | .... . .-.. .-.. --- | Truthy | | code | -.-. --- …
20 code-golf  morse 

20
最小的多样化指数
甲pandigital数是包含从0每个数字至9至少一次的整数。1234567890、1902837465000000和9023289761326634265都是pandigital。出于此挑战的目的,诸如123456789之类的数字不是pandigital,因为它们不包含0,即使123456789 = 0123456789。 一个多样化的整数对是一对整数(a,b)(a,b)(a, b),因此ababa^b是泛指的。bbb被称为多样化指数。 挑战:给定整数aaa,找到最小的对应分散指数bbb。这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 (您可以假设存在这样的指数,也就是说,不会为您的程序提供无效的输入,例如10的幂。) 您的解决方案必须至少能够处理给定的测试用例,但理论上应该能够处理所有有效的输入。 这是OEIS上的A090493。 测试用例 2 -> 68 3 -> 39 4 -> 34 5 -> 19 6 -> 20 7 -> 18 8 -> 28 9 -> 24 11 -> 23 12 -> 22 13 -> 22 14 -> 21 15 -> 12 16 …
20 code-golf  math 

27
Couch 2048:到2048年还有多少钱?
我刚刚尝试了一款名为Couch 2048的游戏。 (注意:您应该看一下以更好地理解这个问题。) 由于这对我来说并不十分令人兴奋,所以我一直在问自己“直到2048还要多少钱!?” 这激发了我提出一个挑战,因为计算挑战并不像我想的那么容易。 您的目标: 给定沙发上的球列表,您必须输出必须从天上掉下来的数值为2的球,这样一个人才能赢得比赛(达到2048球)。 假设输入有效。 假设玩家不会丢任何球。 如我所说,假定从天上掉下来的球的值始终为2。 有效的输出示例:3,“ 4”,[5],[“ 6”] 编辑: 我应该澄清一些事情: -您必须打印最少的2s。 测试案例: [2048] -> 0您已经赢了 [1024,1024] -> 0您不需要再赢得更多球 [1024,512,256,128,64,32,16,8,4,2] -> 1了“激活链”所需的一个球 [512] -> 768 [512,2] -> 767 [4,16,64] -> 982 注意: 我不是母语人士-告诉我您是否发现错字或一些非语法文字。 如果不清楚,请在评论中提问。
20 code-golf 

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.