Questions tagged «code-golf»

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

26
这是史密斯号码吗?
挑战说明 甲史密斯号码是一个复合数字,其数字之和等于的质因子数字之和的总和。给定一个整数N,确定它是否是史密斯数。 最初的几个史密斯数字是4,22,27,58,85,94,121,166,202,265,274,319,346,355,378,382,391,438(序列A006753在OEIS)。 样本输入/输出 18: False (sum of digits: 1 + 8 = 9; factors: 2, 3, 3; sum of digits of factors: 2 + 3 + 3 = 8) 22: True 13: False (meets the digit requirement, but is prime) 666: True (sum of digits: 6 + 6 + …

30
莉丝·坦珀斯
前几天,我的朋友做了一个轻快的翻译器,也就是说,它花了一个字符串并转换了s => th和S => Th。时间很长,我认为可以打高尔夫球。 因此,任务是制作一个程序/函数,以接收输入字符串,将其转换为lisp并输出字符串 测试用例 Sam and Sally like Sheep Tham and Thally like Thheep Sally likes sausages Thally liketh thauthageth Sally sells seashells Thally thellth theathhellth 请注意,h一直重复都没关系 这是代码高尔夫球,所以最短答案胜出
28 code-golf  string 

16
伪造简短事实
在布尔值列表中找到最长的true。返回相同的列表,所有其他true均被伪造。 输入输出 一个列表; 任何常规格式(例如,分隔列表为字符串)。 细节 正确和错误可以是您的语言通常用于这些值的任何值,也可以是整数1和0。如果您使用单个字符,则列表可以是串联(例如10001)。 如果有最长的并列,请保持所有并列运行正确,并伪造所有较短的运行。 例子 input ↦ output 1,0,1,0,1 ↦ 1,0,1,0,1 1,1,0,1,1,0,1 ↦ 1,1,0,1,1,0,0 1,1,0,1,1,1,0,1,1 ↦ 0,0,0,1,1,1,0,0,0 1,1,1 ↦ 1,1,1 0,0,1 ↦ 0,0,1 0,0 ↦ 0,0 1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0 ↦ 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 (直接来自https://stackoverflow.com/q/37447114)

30
简单的整数运算计算器
实现一个简单的整数运算可编写脚本的计算器。 概念 累加器从0开始并对其执行操作。在程序末尾输出累加器的值。 操作方式: +添加1到累加器 -1从累加器中减去 * 将累加器乘以 2 / 将累加器除以 2 样例脚本 输入++**--/应该给出输出3。 示例实施 def calc(s) i = 0 s.chars.each do |o| case o when '+' i += 1 when '-' i -= 1 when '*' i *= 2 when '/' i /= 2 end end return i end …

18
生存还是毁灭
在尽可能少的字节中,确定每个给定的两个值是否与以下之一匹配: 第一价值 2 string or integer - whichever you prefer to case insensitive too case insensitive two case insensitive t0 case insensitive (t zero) 第二值 b case insensitive be case insensitive bee case insensitive b3 case insensitive 例子 2 'Bee' true '2' 'b' true 'not to' 'be' false 'that is' …
28 code-golf  string 

8
可视化最大公约数
背景 最大公约数(简称gcd)是一种便捷的数学函数,因为它具有许多有用的属性。Bézout的身份就是其中之一:if d = gcd(a, b),则存在整数xand y这样d = x*a + y*b。在这个挑战中,您的任务是使用简单的ASCII艺术形象化此属性。 输入值 您的输入是两个正整数a和b,以任何合理的格式给出。您也可以使用一元输入(您选择的单个可打印ASCII字符的重复),但是您必须保持一致,并且两个输入都使用相同的格式。输入可以是任何顺序,并且可以相等。 输出量 您的输出是一串s长度lcm(a, b) + 1(lcm代表最小公倍数)。的字符s表示从0到的整数lcm(a, b)。如果是或的倍数,则该字符s[i]为小写,o否则i为一个句点。请注意,零是每个数字的倍数。现在,因为贝祖等式中,将有至少一对人物,在其距离正好。最左边的这样的对将被大写s 代替;这是最终的输出。ab.osgcd(a, b)O 例 考虑输入a = 4和b = 6。然后我们有gcd(a, b) = 2和lcm(a, b) = 12,这样的长度s会13。的倍数a和b摘要如下: 0 1 2 3 4 5 6 7 8 9 10 11 12 o . . . …

30
在相同位置保持大写字母的同时反转字符串
这里的目标是简单地扭转字符串,但 要扭转一圈:将大写字母保留在同一位置。 示例输入1:Hello, Midnightas 示例输出1:SathginDim ,olleh 示例输入2:示例.Q 输出2:q. 规则: 输出到STDOUT,从STDIN输入 获奖者将于7月13日GMT + 3 12:00(一周)被选出 输入只能由ASCII符号组成,这使不使用包含非ASCII字符的任何编码的程序更容易。 任何以大写字母结尾的标点符号都必须忽略。
28 code-golf  string 

25
多维数组的索引
较低级的语言(例如C和C ++)实际上没有多维数组的概念。(向量和动态数组除外)使用以下方法创建多维数组时 int foo[5][10]; 这实际上只是语法糖。C真正要做的是创建一个由5 * 10个元素组成的连续数组。这个 foo[4][2] 也是语法糖。这实际上是指 4 * 10 + 2 或者,第42个元素。一般地,元件的索引[a][b]在阵列foo[x][y]是在 a * y + b 相同的概念适用于3d阵列。如果我们有foo[x][y][z]并且访问元素,那么[a][b][c]我们实际上是在访问元素: a * y * z + b * z + c 这个概念适用于n维数组。如果我们有一个具有维度的数组D1, D2, D3 ... Dn并且我们访问元素,S1, S2, S3 ... Sn则公式为 (S1 * D2 * D3 ... * Dn) + …

30
字节/字符
任务 给定UTF-8字符串(无论如何)答案(无论如何)等效列表,其中每个元素都是用于编码相应输入字符的字节数。 例子 ! → 1 Ciao → 1 1 1 1 tʃaʊ → 1 2 1 2 Adám → 1 1 2 1 ĉaŭ→ 2 1 2(单个字符) ĉaŭ→ 1 2 1 1 2(使用组合叠加层) チャオ → 3 3 3 (空输入)→ (空输出) !±≡𩸽 → 1 2 3 4 (空字节)→ 1 空字节 …

30
查找大于数字输入为输入的输入的最小数字
“数字总和”是指一个数字中所有数字的总和。 例如,的数字总和1324为10,因为1+3+2+4 = 10。 面临的挑战是编写一个程序/函数来计算比数字总和为输入的输入大的最小数字。 演练示例 例如,以数字9作为输入: 9 = 1+8 -> 18 9 = 2+7 -> 27 9 = 3+6 -> 36 ... 9 = 8+1 -> 81 9 = 9+0 -> 90 有效输出将是上面的最小数字,即18。 眼镜 请注意,这9不是此示例的有效输出,因为反转的数字必须大于原始数字。 请注意,输入将为正。 测试用例: 2 => 11 (2 = 1 + 1) 8 => 17 (8 …

3
左边四个步骤:毒蛇。右边的四个步骤:悬崖。不要死!
介绍 假设一下,如果在毒蛇和悬崖只有2步之遥,而不是三个。 o --- Hsss! | ';;' ___ /_\ ___ _ | 不幸的是,你是一个虐待狂酷刑者的俘虏。您必须每转一圈向左或向右迈出一步。如果您不这样做,他们会立即将您射杀。您可以事先计划好您的步骤,但是一旦您迈出第一步,就无法更改您的计划。(也不要涉足,他们会射击你的。) 突然想到一个聪明的主意... 啊! 我可以左右交替走!右移,左移,右移,左移,依此类推... 啊啊啊,没那么快。就像我说的那样,酷刑者是虐待狂。他们可以选择是否要执行每一步,第二步或第三步,依此类推。因此,如果您天真地选择顺序,RLRLRL...那么它们会迫使您采取第二步,即从开始LL。哦哦!你被毒蛇咬了!黑暗笼罩了你,其他一切都消失了。 实际上,您还没有死。您仍然必须提出您的计划。经过几分钟的思考,您意识到自己注定要失败。无法计划出一系列步骤来保证您的生存。你能想到的最好的就是RLLRLRRLLRR。1 11个安全步骤,仅此而已。如果第十二步是R,那么拷问者将使您迈出每一步,然后最后三步将您带离悬崖。如果第十二步是L,那么拷问者将使您每走第三步(LRLL),这将使您正确地进入毒蛇及其致命叮咬的怀抱。 您选择R第12步,希望能够尽可能长地延迟您的灭亡。随风在你的耳边咆哮,你自己想知道... 如果我有三个步骤怎么办? 扰流板警报! 你仍然会死。事实证明,无论您采取了多少步骤,无论您做出何种选择,都会有一点,您的折磨者可以选择一系列步骤来确保您满足致命的命运。2但是,如果毒蛇和悬崖距离酒店只有3步之遥,那么您总共可以采取1160个安全步骤;而如果距离它们又有4步之遥,则至少有13,000个安全步骤!3 挑战 给定一个整数n < 13000,n假设悬崖和毒蛇相距四个步骤,则输出一系列安全步骤。 规则 可以是完整程序或功能。 输入可以通过STDIN或等效输入,也可以作为函数参数。 输出必须有两个不同的字符(其可以是+/-,R/L,1/0,等等)。 输出中的任何空格都无关紧要。 不允许对解决方案进行硬编码。这将使这一挑战变得微不足道。 您的程序(理论上)应该在相当长的时间内完成。在这种情况下,n=13000可能需要一个月的时间,但不应该花一千年或更长时间。也就是说,没有蛮力。(嗯,至少要设法避免它。) 终身红利:提供一系列2000安全的步骤。如果您这样做,酷刑者将对您的坚韧,毅力和前瞻性印象深刻,以至于他们会让您活下去。这一次。(将此序列作为二进制数进行处理,并提供等效的十进制数进行验证。这是为了奖励很快就能完成的答案,因为答案需要很长时间。) 分数:字节,除非您有资格获得奖金-乘以0.75。 生存! 1 Numberphile的一位明星James Grime在他的YouTube频道上提供了关于此问题和“解决方案”的很好的解释,网址为:https : //www.youtube.com/watch?v= pFHsrCNtJu4 。 2特伦斯·陶(Terence Tao)最近证明了这个有80年历史的猜想,即鄂尔多斯的差异问题。这是《 Quanta杂志》上一篇非常不错的文章:https : //www.quantamagazine.org/20151001-tao-erdos-discrepancy-problem/。 3资料来源:鲍里斯·科涅夫(Boris …

10
异形图,回文,哦,我的天!
(第一个挑战,请让我知道它是否有任何问题。) 一个heterogram是在没有字母表的字母出现不止一次一个词,一个回文是一个短语,是一样的向后和向前。 这里的挑战是编写一段代码,将一个单词(仅一个字母)作为输入,并输出它是否是一个异义字(真实/虚假)。问题在于程序必须是回文式-前后读取相同的内容。资本并不重要位置,因此对于heterogram是有效的它不能有Q和Q,例如。不允许注释,并且您不能放置包含代码(或代码的重要部分)的字符串来尝试使回文部分变得容易:P 这是代码高尔夫球,因此最短的代码获胜。祝好运! 编辑:回文部分的括号,方括号或其他具有左右形式的符号必须适当颠倒。因此(helloolleh)是回文,但是(helloolleh(不是。显然,这被称为便捷回文。 编辑2:您将不会得到任何空输入,输入多个单词或输入除字母之外的其他字符。所以不用担心:)

15
说明二项式的平方
给定(通过任何方式)两个不同的自然数(任何合理大小),输出(通过任何方式)其总和的平方,如下例所示: 给定4和3,输出: 12 12 12 12 9 9 9 12 12 12 12 9 9 9 12 12 12 12 9 9 9 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 …

26
可括号的二进制数
如果您用无前导零的二进制形式表示某个正整数,并1用a 替换每个,(并0用a 替换每个)括号,那么所有括号会匹配吗? 在大多数情况下,它们不会。例如,9 1001以二进制形式出现,变成())(,其中仅前两个括号匹配。 但有时它们会匹配。例如,44为101100二进制,变成()(()),其中所有左括号都有匹配的右括号。 编写一个程序或函数,该程序或函数的正十进制整数为正,如果数字的双括号版本具有所有匹配的括号,则打印或返回真实值。如果不是,请打印或返回伪造的值。 以字节为单位的最短代码获胜。 相关的OEIS序列。 低于100的真实示例: 2, 10, 12, 42, 44, 50, 52, 56 低于100的虚假示例: 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, …

19
构建ASCII梯形图
给定两个整数n和m的输入,输出长度为n且大小为m的ASCII梯形图 。 这是长度为3,大小为3的ASCII阶梯: o---o | | | | | | +---+ | | | | | | +---+ | | | | | | o---o 这是长度为5,大小为1的ASCII阶梯: o-o | | +-+ | | +-+ | | +-+ | | +-+ | | o-o 这是长度为2,大小为5的ASCII阶梯: o-----o | | | | | | …

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.