Questions tagged «integer-partitions»

对于与将整数表示为正整数之和的不同方式有关的挑战。

23
哟,男孩,总和
每一个正整数,可表示为最多三个回文正整数中的任何基础的总和b ≥5。 Cilleruelo等,2017 如果正整数在给定的基数中为回文,则该正整数在该基数中的表示(不带前导零)将向后读取相同的值。在下面,仅基b = 10将被考虑。 作为回文数之和的分解不是唯一的。例如,5可以直接表示为5或2, 3。类似地,132可以分解为44, 44, 44或121, 11。 挑战 给定一个正整数,将其和分解为三个或三个以下以正整数为基础的正整数。 附加规则 所使用的算法应适用于任意大的输入。但是,如果程序受内存,时间或数据类型的限制,则可以接受。 输入和输出可以通过任何合理的方式进行。输入和输出格式像往常一样灵活。 您可以选择为每个输入生成一个或多个有效分解,只要输出格式是明确的即可。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 例子 由于输入可以具有许多分解,因此这些只是示例而不是测试用例。每种分解显示在不同的行上。 Input -> Output 5 -> 5 2, 3 15 -> 1, 3, 11 9, 6 21 -> 11, 9, 1 7, 7, 7 42 -> 22, 11, 9 2, …

12
易裂变数字
我在进行OEIS的开发时发现了这个序列,但是从来没有绕过它作为答案。在用Mathematica编写了参考实现之后,我认为这是一个有趣的练习,但是要作为一个单独的挑战来做,所以我们开始吧。 让我们建造一个数字裂变反应堆!考虑一个正整数N。举例来说,我们来看一下24。要分解该数字,我们必须找到相加为的最大连续正整数N。在这种情况下,即为7 + 8 + 9 = 24。因此,我们24分为三个新数字。但是,如果没有链式反应,裂变反应堆就不会多了。因此,让我们递归地重复这些组件的过程: 24 /|\ / | \ / | \ 7 8 9 / \ /|\ 3 4 / | \ / \ / | \ 1 2 2 3 4 / \ 1 2 请注意,只要数字不能分解为较小的连续整数,我们就会停止该过程。另请注意,我们本来可以将编写9为4 + 5,但2 + 3 + 4具有更多组件。的裂变数的N现在定义为在此过程中,包括获得整数的个数N本身。上面的树有13个节点,所以F(24) = 13。 …

15
11 =(1 + 2 + 3 + 4 + 5)-(1 + 2 + 3)+(6)-(4)
给定正整数N,您的任务是返回以下算法达到N所需的步数: 找到最小的三角形的数目Ť 我使得Ť 我 ≥Ñ。建立相应的列表L = [1,2,...,i]。 当L的项之和大于N时,从列表中删除第一个项。 如果L项的总和现在小于N,则增加i并将其附加到列表中。继续执行步骤2。 一旦达到N,我们就会停止。系统只会执行第一步。步骤#2和#3可能根本不处理。 例子 以下是N = 11的示例: 所以预期输出用于N = 11是4。 其他例子: N = 5-我们从 T 3 = 1 + 2 + 3 = 6开始,然后是 2 + 3 = 5。预期输出: 2。 N = 10-因为 10是一个三角数,所以只需要第一步: T 4 = 1 + 2 + 3 + …

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
五个立方体的总和
给定一个整数,输出五个总和为该整数的理想立方体。请注意,多维数据集可以是正数,负数或零。例如, -10 == -64 - 64 + 64 + 27 + 27 因此对于输入-10您可以输出[-64, -64, 64, 27, 27],尽管其他解决方案也是可行的。请注意,您应该输出多维数据集,而不是要输出的数字。 始终存在解决方案-您可能会为自己感到困惑。进一步推测四个立方体就足够了。

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

18
连续整数之和
在任何人说任何事,类似的和类似的。但这不是骗子。 一些正整数可以写为至少两个连续的正整数之和。例如,9=2+3+4=4+5。编写一个函数,将一个正整数作为其输入,并输出与之相加的最长连续正整数的最长序列作为输出(任何格式都是可以接受的,但是如果输出是由递增序列隔开的-5字节,则+如上所示) 。如果不存在这样的顺序,则应打印数字本身。 这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。 样本(请注意格式会有所不同) Input: 9 Output: 2,3,4 Input: 8 Output: 8 Input: 25 Output: [3,4,5,6,7]

10
钩长产品
甲杨图是在左对齐的行和顶部对齐的列盒的布置。对于每个框,其上方和左侧的所有空间均被占用。 XXXXX XXX XXX X 盒子的挂钩长度是其行右边和框下面的盒子数,也可以自己计数一次。例如,第二个盒子的钩子长度为6: X**** X*X X*X X 这是所有钩子长度: 86521 532 421 1 您的目标是在此处计算弯钩长度的乘积8*6*5*2*1*5*3*2*4*2*1*1 = 115200。 (如果您对这个表达式的重要性感兴趣,请阅读钩子长度公式。) 输入:行大小的集合,如数字[5,3,3,1]或重复的一元符号(如[[1,1,1,1,1], [1,1,1], [1,1,1], [1]]或)"XXXXX XXX XXX X"。您可以根据需要将列表排序为升序或降序。该列表将为非空,并且仅包含正整数。 输出:挂钩长度的乘积,为正整数。不必担心整数溢出或运行时。 不允许专门处理Young图或整数分区的内置函数。 测试用例: [1] 1 [2] 2 [1, 1] 2 [5] 120 [2, 1] 3 [5, 4, 3, 2, 1] 4465125 [5, 3, 3, …

12
写数字作为N次方的差
挑战 有许多数字可以表示为两个平方的差,两个立方体的差,甚至更高的幂。关于平方,有两种写数字的方法,例如75,等于2个平方的差。你可以写: 75 = (10)^2 - (5)^2 = (14)^2 - (11)^2 = (38)^2 - (37)^2 因此,让我们谈谈挑战。首先,用户输入数字,然后输入n的值。您需要以aⁿ-bⁿ的形式显示该数字的所有写入方式。 输入输出 输入将是数字和n的值。您的输出应具有所有这样的“ a”和“ b”对,从而满足上述条件。该对中的第一个数字必须大于第二个。请注意,a,b,n和输入数字均为正整数,并且n> 1。 例子 50, 2 -> (none) 32, 2 -> (9,7), (6, 2) 7, 3 -> (2,1) 665, 6 -> (3, 2) 81, 4 -> (none) 计分 这是代码高尔夫球,因此最短的代码获胜!

27
列出n的所有有序分区
挑战是列出给定正整数的所有有序分区(组成(组合))n。这些数字从名单1到n其总和n。例如,给定input n = 4,结果应为: 4 1,3 3,1 2,2 2,1,1 1,2,1 1,1,2 1,1,1,1 结果可以采用任何顺序,但是必须包含每个有序分区一次。这意味着n = 4,[1, 1, 2],[1, 2, 1]而且[2, 1, 1]必须是结果的一部分。 这是我自己的实现此目的的JavaScript代码: function range(n) { for (var range = [], i = 0; i < n; range.push(++i)); return range; } function composition(n) { return n < 1 ? [[]] : …

23
ASCII艺术八边形
给定输入整数n > 1,输出边长由n字符组成的ASCII八角形。请参阅以下示例: n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

15
推倒一些多米诺骨牌!
感谢这个问题的启发 在这个挑战,我们将代表一行多米诺骨牌作为串|,/和\。您将获得一串多米诺骨牌作为输入,并且必须确定它们安定后的样子。这是多米诺骨牌掉落的规则 |左下降的多米诺骨牌左侧的立式多米诺骨牌\也将变为左下降的多米诺骨牌。 |正确的多米诺骨牌的立式多米诺骨牌/也将变成正确的多米诺骨牌。 如果站立的多米诺骨牌介于左\下落的/多米诺骨牌和右下落的多米诺骨牌之间,它将保持站立状态。 重复应用这些规则,直到排列不再更改。 这是单个输入如何得出结论的示例 |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| 您的任务是编写查找并输出输入最终结果的代码。您可以假定输入始终有效,并且至少包含2个字符。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

15
计算N的分区
您的挑战很简单:给定一个整数N,输出每个总和为N的正整数列表。例如,如果输入为5,则应输出 [1, 1, 1, 1, 1] [1, 1, 1, 2] [1, 1, 3] [1, 2, 2] [1, 4] [2, 3] [5] 这些列表不必以任何特定顺序输出,每个列表中的数字也不必。例如,这也是'5'的可接受输出: [1, 1, 1, 2] [5] [3, 1, 1] [2, 1, 2] [4, 1] [1, 1, 1, 1, 1] [2, 3] 您可以放心地假设输入将是一个正整数,并且您可以采用任何合理的格式使用此数字。 您不得使用任何内置函数来执行此操作。 如果您的程序失败或对于N而言花费的时间太长,这可以,但是您至少必须为前15个产生正确的输出。 存在标准漏洞,最短的答案以字节为单位! 测试IO 1: [[1]] 2: …

20
一分钱的节省就是一分钱
...算了! 您将为您的程序传递一个变量,该变量代表以美元和/或美分表示的货币数量以及一系列硬币值。您的挑战是输出给定硬币值数组的可能组合的数量,这些数量加起来将等于传递给代码的数量。如果使用命名的硬币不可能,则程序应返回0。 关于美国钱币学术语的注释: 1分硬币:美分 5美分硬币:镍 10分硬币:角钱 25美分的硬币:季度(四分之一美元) 范例1: 程序通过: 12, [1, 5, 10] (12美分) 输出: 4 有四种可能的方法来组合命名为12美分的硬币: 12便士 1镍7便士 2镍2便士 1角钱和2便士 范例2: 程序通过: 26, [1, 5, 10, 25] (26分) 输出: 13 有13种可能的方法来组合命名为26美分的硬币: 26便士 21便士和1镍 16便士和2镍 11便士和3镍 6便士和4镍 1便士和5镍 16便士和1角钱 6便士和2角钱 11便士,1角钱和1镍 6便士,1角钱和2枚镍币 1便士,1美分和3枚镍币 1便士,2角钱和1镍 1个季度1分钱 范例3: 程序通过: 19, [2, 7, …

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.