Questions tagged «decision-problem»

对于涉及确定输入是否满足特定条件的挑战,以及输出代表该决策的一些数据。

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
因此管理垃圾
PPCG在某种程度上已经成为一种传统,一些用户通过字谜(通过重新排序旧字母而形成的新名称)临时更改其名称。 有时很难找出谁是谁。我可以使用一个程序或函数来判断两个短语是否是彼此的字谜。 挑战 程序或函数应该采用两个字符串,并且如果它们彼此是字谜,则应产生真实的结果,否则应为虚假的。 规则 输入将仅包含字母(ASCII 65至90和97至122),数字(ASCII 48至57)或空格(ASCII 32)。 字谜关系与大小写无关。所以“手臂”和“ RAM”是字谜。 空格也不计算在内。所以“键盘”和“吠叫哟” 允许所有内置 输入格式灵活(两个字符串,两个字符串的数组,包含两个短语的字符串以及合适的分隔符...) 代码高尔夫。最少的字节数获胜。 测试用例 真相: Lynn, Nyl N Digital Trauma, Tau Digital Arm Sp3000, P S 3000 Manage Trash So, Those anagrams 虚假 Calvins Hobbies, Helka Homba Android, rains odd In between days, bayed entwine Code golf, cod …

13
威尔·罗杰斯现象
所谓的威尔·罗杰斯(Will Rogers)现象描述了一种通过在两个元素之间移动一个元素时提高两个(多)集合中的平均值来调整统计量的方法。举一个简单的例子,考虑两组 A = {1, 2, 3} B = {4, 5, 6} 它们的算术平均值分别为 2和5。如果我们移动4到A: A = {1, 2, 3, 4} B = {5, 6} 现在,平均值分别为2.5和5.5,因此两个平均值都通过简单的重组而提高了。 再举一个例子,考虑 A = {3, 4, 5, 6} --> A = {3, 5, 6} B = {2, 3, 4, 5} --> B = {2, 3, 4, …

4
无限迷宫
背景 您是一个功能强大的向导的徒弟,您的大师当前正在开发一种咒语,以创建一个多维迷宫来诱捕敌人。他希望您对自己的蒸汽动力计算机进行编程,以分析可能的布局。对这台恶魔般的机器进行编程非常危险,因此您需要使代码尽可能短。 输入值 您的输入是一个由句点.和哈希组成的二维网格#,表示空白空间和墙壁,以换行符分隔的字符串形式给出。总是至少有一个.和一个#,并且您可以决定是否有尾随换行符。 此网格是无限迷宫的蓝图,它是通过将网格的许多副本彼此相邻对齐而制成的。迷宫分为空腔,它们是空空间的连接组件(对角相邻的空间不连接)。例如网格 ##.#### ...##.. #..#..# ####..# ##...## 导致以下迷宫(在各个方向无限连续): ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## 这个特殊的迷宫包含一个无限区域的空腔。另一方面,此蓝图导致迷宫只有有限的空腔: ##.#### ##..### ####... ..####. #..#### 输出量 如果迷宫包含无限的空腔,则您的输出应为真实值,否则为虚假的值。注意迷宫可能同时包含有限和无限的腔;在这种情况下,输出应为真实的。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 其他测试用例 无限腔: .# #.# ... #.# #.###.#.###.# #.#...#...#.# #.#.#####.#.# ..#.#...#.#.. ###.#.#.#.### #...#.#.#...# #.###.#.###.# ##.### …

21
容易相乘的数字
您的任务是确定两个数字是否容易相乘。这意味着,从乘法步骤和加法步骤来看,它们的以10为基数的long乘法在位值之间没有任何进位(重新组合)。当每一对数字相乘等于9或更少且每列的总和等于9或更少时,就会发生这种情况。 例如,331并且1021很容易相乘: 331 x 1021 ------ + 331 662 0 331 ------ 337951 如果我们以其他顺序相乘,也是如此(一如既往): 1021 x 331 ------ + 1021 3063 3063 ------ 337951 但是,431并且1021也不容易相乘,在指示的列之间发生进位: 431 x 1021 ------ + 431 862 0 431 ------ 440051 ^^^ 同样,12并且16也不容易相乘,因为即使相乘没有发生进位,在相乘12 * 6得到get 72时也会发生结转。 12 x 16 ---- + 72 12 ---- 192 …

22
引爆一根弦
给定任何字符串,以三角形的形式打印它,其中文本沿每个对角线上下移动。例如,输入的"Hello World"应输出: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

30
Yahtzee小直检测
在Yahtzee游戏中,玩家掷出五个六面骰子,并尝试制造某些手以得分。这样的一手牌是小顺子:四个连续的数字,不一定是顺序的。三种可能的小直道是1, 2, 3, 4,2, 3, 4, 5和3, 4, 5, 6。 例如,[3, 5, 6, 1, 4]包含小笔直[3, 4, 5, 6]。 输入项 五个整数的未排序列表,每个整数在1到6之间(包括1和6),表示Yahtzee手。 输出量 如果手牌有小笔直则为真值,否则为假值。 测试用例 真相: [[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, …

30
这个数字是邪恶的吗?
介绍 在数论中,如果二进制表示形式中的偶数个数为1,则该数字被认为是邪恶的。在今天的挑战中,您将确定给定的数字是否为邪恶。 挑战 您的工作是编写一个完整的程序或函数,以接受单个非负整数作为输入并输出(或返回)该数字是否为邪恶。 如果数字是邪恶的,则可以输出任何真值,而如果数字不是邪恶的,则可以输出任何虚假的值。 您可以以任何可接受的格式输入和输出。 不允许出现标准漏洞。 OEIS序列A001969是包含所有邪恶数字的序列。 这是前10000个邪恶数字的列表,以供参考(还有更多测试用例!) 这个问题是代码高尔夫,所以越短越好。 不要被打高尔夫球的简短答案所困扰。我鼓励您以喜欢的任何语言提交。 以下是一些测试案例: 3 => True 11 => False 777 => True 43 => True 55 => False 666 => False 排行榜 页面底部是一个堆栈片段,其中包含此问题的页首横幅。(谢谢@MartinEnder) 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + …

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

24
可以将数字分解为2的幂吗?
昨天和孩子一起玩时,我注意到他的玩具火车上的数字: 所以我们有可分为或4281428142814−2−8−14−2−8−14-2-8-122−21−23−2022−21−23−202^2-2^1-2^3-2^0 如此简单的挑战:给定一个非负数作为输入,返回一致的真值和假值,这些值表示该数字的字符串表示形式(以10为基数且不带前导零)可以以某种方式拆分为2的幂。 例子: 4281 truthy (4-2-8-1) 164 truthy (16-4 or 1-64) 8192 truthy (the number itself is a power of 2) 81024 truthy (8-1024 or 8-1-02-4) 101 truthy (1-01) 0 falsey (0 cannot be represented as 2^x for any x) 1 truthy 3 falsey 234789 falsey 256323 falsey (we …

30
是我的矩阵箭头吗?
定义 一个箭头矩阵是一个矩阵,其具有所有条目等于0,除了在主对角线,顶行和最左一列的那些。换句话说,矩阵应如下所示: * * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 * 其中每个*是任何非零条目。 任务 给定非负整数的方阵,请根据上面的定义检查其是否为箭头。 除非您的语言等效于数组,例如指针和长度(例如C),否则您可能不将矩阵的大小作为输入。始终至少为3 x 3。 每种语言中以字节为单位的最短代码获胜。 输入输出 您可以选择以下任何一种格式来接收输入: 本机矩阵类型的矩阵(如果您的语言有一种) 2D数组1(1D数组的数组,每个数组对应于一行) 一维数组(因为矩阵始终为正方形) …

1
微重力球
您正在使用先进的星际空间站。你们中一个在重力研究中成年的朋友刚刚创建了一个游戏,其中涉及使用微重力作为移动球的一种方法。 她递给您一个小型控制器,上面带有四个方向箭头,一个像迷宫一样的结构,左侧有一个球。她开始解释游戏的运作方式。 您有2个方向按钮,向左<和向右>。 您还具有^上下两个重力按钮v(至少从您的参照系来看) 您将使用这些箭头按钮在屏幕上四处移动球。 “现在有一些规则需要遵循。” 她说 到达杯子之前,必须遍历所有平台 \ / 箭头< > ^ v将用于指定球的运动 重力是^ v(上下)。这会将球一直沿该方向移动到下一个平台。(不计算上下距离) 丢球不好!请勿掉落边缘,也不要过早切换重力,以使您的球永远不会到达平台 运动以步长计算 < > 只要遵循规则1,球就可以从任何方向进入杯子 您必须指定重力方向,以使您的球不会漂浮 只要遵循规则1和规则4,移动可能是随机的 对于无法解决的情况,输出False或Invalid 球,平台和杯子的简单示例: v o ---\ / v> o ---\ / v>> o ---\ / v>>> o ---\ / v>>>> ---\o/ 再次遍历同一平台的示例。 v o ---- \ /------- v> …

28
这是一个很强的词吗?
他们说这hate是一个有力的词。我想找出原因,因此很好地了解了这个词。 我注意到每个辅音后面都有一个元音。这使它看起来对我来说很坚强,所以我认为这就是使一个词更坚强的原因。 我想找到更强的词,因此需要一个程序! 寻找强词 强词是每个辅音(集合中的字母BCDFGHJKLMNPQRSTVWXZ)后跟元音(集合中的字母AEIOUY)的单词。而已。别的都无所谓。 如果单词以元音开头,则不必担心第一个辅音之前的任何字母。如果这个词根本没有辅音,那么它就自动成为一个强词! 强话的一些例子是agate,hate和you。agate仍然是一个很强的词,因为尽管它以元音开头,但每个辅音仍然跟着元音。you这个词很强大,因为它没有辅音。 强词的长度没有限制。 挑战 编写一个程序或函数,该程序或函数将非空字符串作为输入,如果它是一个强词,则输出一个真实值,否则,则输出一个虚假值。 澄清说明 您可以决定采用小写或大写形式输入。指定答案中的哪个。 单词将不包含任何标点符号。它们只包含纯字母ABCDEFGHIJKLMNOPQRSTUVWXYZ。 您可以选择两个不同且一致的值来代替true和false,以返回true和false。如果这样做,请指定您在答案中选择的值。 您也可以为强词输出假值,为非强词输出真值。 测试用例 Input -> Output hate -> true love -> true popularize -> true academy -> true you -> true mouse -> true acorn -> false nut -> false ah -> false strong -> false false …

8
没有同质邻居
给定一个正整数列表,输出其中每个相邻的整数对是否共享一个素数。换句话说,当且仅当列表中没有两个相邻的整数互质时,才输出true。 换句话说:给定正整数列表[a 1 a 2 …a n ],输出是否 gcd(a 1,a 2)> 1 && gcd(a 2,a 3)> 1 &&…&& gcd(a n-1,a n)> 1。 该列表将始终包含至少两个元素(n≥2)。 然而… 这个挑战也是受限制的:在您的答案中的代码点(无论它在哪个代码页中)都必须满足程序检查的条件。 例如,print 2是一个有效程序。作为Unicode代码点的列表,它是[112 114 105 110 116 32 50],它满足以下条件:112和114共享因子2;和114和105的共用一个因子3,等 然而,main能不能在一个有效的程序产生(对不起!),为的Unicode代码点m和a,即109和97,是互质。(非常感谢,您的提交不必是一个完整的程序!) 您的程序不允许包含代码点0。 测试用例 真相: [6 21] -> 1 [502 230 524 618 996] -> 1 [314 112 …

30
我的条形码有效吗?
的EAN-8条码包括的信息和第八校验和数字7位数字。 通过将数字分别乘以3和1,将结果相加,然后从下一个10的倍数中减去,来计算校验和。 例如,给定数字2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 这些结果数字的总和为55,所以校验和数字为60-55 = 5 挑战 给定一个8位条形码,您的任务是验证它是否有效-如果校验和有效,则返回真实值,否则返回false。 您可以采用以下任何形式的输入: 长度为8个字符的字符串,代表条形码数字 8个整数的列表,条形码的数字 一个非负整数(您可以假设前导零而不给出任何前导零,即1= 00000001,或请求输入中给出零) 禁止计算EAN-8校验和的内置函数(即,使用前7位数字并计算最后7位数字)。 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜! 测试用例 20378240 -> True 33765129 -> True 77234575 -> True 00000000 …

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.