Questions tagged «code-golf»

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

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 

23
最小功率根
的最小功率迭代若干定义如下:ññn MPI (n ):= n最小(数字(n ))MPI(ñ):=ñ分(数字(ñ))\text{MPI}(n):=n^{\text{min}(\text{digits}(n))} 也就是说,提高到最低位。例如,和。ññnññnMPI (32 )= 322= 1024MPI(32)=322=1024\text{MPI}(32)=32^2=1024MPI (1234 )= 12341个= 1234MPI(1234)=12341个=1234\text{MPI}(1234)=1234^1=1234 数字的最小幂根定义为重复应用直到找到固定点所获得的数字。下表列出了1到25之间的数字的最小幂根:ññnMPIMPI\text{MPI} n MPR(n) -------------------------- 1 1 2 1 3 531441 4 1 5 3125 6 4738381338321616896 7 1 8 16777216 9 1 10 1 11 11 12 12 13 13 14 14 15 15 16 …

16
找出3 x 3矩阵的逆矩阵
挑战 给定九个数字,a, b, c, d, e, f, g, h, i作为与平方矩阵相对应的输入: M=⎛⎝⎜adgbehcfi⎞⎠⎟M=(abcdefghi)\mathbf{M} = \begin{pmatrix}a& b& c\\ d& e& f\\ g& h& i\end{pmatrix} 求矩阵的逆M− 1M−1个\mathbf{M}^{-1}并输出其分量。 逆矩阵 矩阵3乘3的逆遵循以下方程式: M M− 1= M− 1M =我 = ⎛⎝⎜1个0001个0001个⎞⎠⎟中号中号-1个=中号-1个中号=一世=(1个0001个0001个)\mathbf{MM}^{-1} = \mathbf{M}^{-1}\mathbf{M} = \mathbf{I} = \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} 可以计算为: 中号− 1= 1det (M)CŤ中号-1个=1个t(中号)CŤ\mathbf{M}^{-1} = \frac{1}{\det(\mathbf{M})}\mathbf{C}^T 其中是辅助因子的矩阵:CC\mathbf{C} C = ⎛⎝⎜e …

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

18
数字的RTA(逆向加法)根
逆序加法(RTA)序列是通过在逆序上加一个数字,并对结果重复该过程而获得的序列。例如 5+5=10⇒10+01=11⇒11+11=22⇒22+22=44⇒ ...5+5=10⇒10+01=11⇒11+11=22⇒22+22=44⇒ ... 5 + 5 = 10 \Rightarrow 10 + 01 = 11 \Rightarrow 11 + 11 = 22 \Rightarrow 22 + 22 = 44 \Rightarrow\text{ }... 因此,5的RTA序列包含10、11、22、44、88、176等。 数字n的RTA根是等于n或在其RTA序列中加n的最小数字。nnnnnnnnn 例如,在RTA序列5、10、11、13、22、31等中找到44。其中5是最小的,因此RTA​​root(44)= 5。 72不是任何数字的RTA序列的一部分,因此被视为其自己的RTA根。 输入是您的语言自然可以处理的范围内的正整数。 如上所述,输出是给定数字的RTA根。 测试用例 Input Output 44 5 72 72 132 3 143 49 1111 1 999 …
22 code-golf  math  number 

8
得分单个飞镖
介绍 编写一个程序或函数,给定飞镖在飞镖上降落的坐标,并返回该飞镖的得分。飞镖坐标为两个整数,x,y从飞镖板的中心开始测量,精度为毫米。 如何得分飞镖 飞镖游戏是通过在圆形板上投掷飞镖来进行的游戏。飞镖板分为20个相等大小的“楔子”。从顶部开始,顺时针旋转,这些部分的值分别为20、1、18、4、13、6、10、15、2、17、3、19、7、16、8、11、14、9、12 ,5。如果您的飞镖落在任何楔块的黑色或白色部分,则对该楔块外部指示的值进行打分。 。 但是,如果您的飞镖落在飞镖板的外部绿色/红色环中,则您打到的楔形物外侧所指示的点数将是您的两倍。同样,敲击内部的绿色/红色环(两个白色/黑色部分之间的一个环),您会获得楔形外侧指示数字的三倍。如果飞镖击中最里面的圆圈(红色的靶心),则得50分,最后,如果飞镖击中第二个最里面的圆圈(靶心的绿色圈),则得25分。 从飞镖板的中心开始测量的环的尺寸如下: Bullseye (50): [0mm-6mm) 25: [6mm-16mm) Inner Single: [16mm-99mm) Triple: [99mm-107mm) Outer Single: [107mm-162mm) Double: [162mm-170mm) Miss (0): 170mm+ 注1:所提供的图片仅供参考,并非按比例绘制。 注2:给出的测量值是近似的,可能与实际的飞镖盘不符。 注3:给出的所有测量值均为[inclusive-exclusive)。出于此挑战的目的,我们无需担心飞镖撞到导线并弹起的问题。如果飞镖以一条径向线“落在钢丝上”,则应由应答者决定是顺时针还是逆时针打断领带。扎带断开方向必须一致,并标明。 注4:飞镖板以标准方式悬挂,其中20个部分的中间直接位于靶心上方,而3个部分则直接位于靶心下方。 输入项 两个整数,代表x,y飞镖着陆点相对于飞镖板中心的坐标(以毫米为单位)。 输出量 一个整数,表示落在给定坐标上的飞镖的点数。 样品 0,0 -> 50 2,101 -> 60 -163,-1 -> 22 6,18 -> 1 -6,18 -> 5 …
22 code-golf  game 

11
数字产品序列
这是彭博大学数学家保罗·洛米斯(Paul Loomis)发现的有趣序列。从他关于此序列的页面中: f(n) = f(n-1) + (the product of the nonzero digits of f(n-1)) f(0) = x使用x以10为基数的正整数定义。 因此,从开始f(0)=1,您将获得以下序列 1, 2, 4, 8, 16, 22, 26, 38, 62, 74, 102, 104, ... 到目前为止,如此标准。当您将任何其他整数作为起点时,有趣的属性将起作用,最终该序列会收敛到上述x=1序列中的某个点。例如,从x=3收益率开始 3, 6, 12, 14, 18, 26, 38, 62, 74, 102, ... 这是另外一些序列,每个序列仅显示到到达为止102: 5, 10, 11, 12, 14, 18, …

3
路径与浪费时间
前提 因此,最近我约有半个小时的时间去预约,并决定在外面等。我还确定,如果我一动不动地站在房子前面,那看起来会很奇怪。因此,我决定在有限的区域内快速散步。我还得出结论,如果我开始绕圈子行走,很明显我在游荡。因此,我受到启发,创造了我的第一个高尔夫挑战赛。 规格 您将得到一张列表,一张区域地图,其中将包含" "或"#",它们代表自由空间和某种障碍。自由空间只能越过一次,越过它需要1分钟。您的初始位置将以"@"无赖的传统来表示,目标将以来表示,"$"因为这就是您将要失去的位置。您还将获得一个整数,该整数表示在看上去好像没有被入侵之前必须浪费多少分钟。当您降落在"$",它必须是确切的分钟数(因此,如果您要递减计数,则在相邻图块上必须为1,在图块上必须为0)。始终可以到达目的地。您的程序或函数将必须返回一个列表,该列表显示带有<,>,^和v的最短路径,以表示四个可能的方向。 例子 输入: [[" ", " ", " ", " "], ["@", " ", " ", "$"], [" ", " ", " ", " "], [" ", " ", " ", " "]] 和 5 输出: [[">", ">", ">", "v"], ["^", " ", " ", "$"], …

9
从字面上看CR和LF
为了庆祝好旧的记事本,我们将把回车符和换行符视为它们的原始含义,而不是它们今天所使用的含义。 鉴于由可打印的ASCII加换行符的字符串(␊; LF; ESC \n;十六进制0A; 12月10日)和回车(␍; CR; ESC \r;十六进制0D; 12月13日),因在线试用说明如何使用可打印字符如果在使用字面意义上的那两个控制字符的打印机上进行打印,将被定位: 换行后,继续向下打印一行 回车后,继续从左侧打印 多个连续的回车符的行为类似于单个回车符 由于现代设备存在过行程问题,除非输入至少在输入之前和/或之后,否则不会发生一次或多次回车,除非在输入开始时。但是,两次回车可以通过换行分隔。 只要至少保留输入中给定的空白量,无论在任何行的右侧还是在整个文本下方,任何数量的附加尾随空白都是可以接受的。 示例(将\n和\r用于换行和回车) Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, consectetur adipiscing\nelit, sed consectetur adipiscing elit, sed do eiusmod\r\ntempor incididunt\n\n ut labore do eiusmod tempor incididunt ut labore et dolore\n\rmagna \r\r\naliqua. Ut (注意尾随空格) et …

30
显示的数字缺少2
显示数字从一到一百(按升序),但数字2不应出现在序列中的任何位置。因此,例如,数字二(2)或二十三(23)不应在序列中。 这是一个示例输出,用换行符分隔数字: 1 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 30 31 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 63 64 …

17
生成沃尔什矩阵
一个Walsh矩阵是一种特殊的具有方阵在量子计算的应用程序(也可能是其他地方,但我只关心量子计算)。 沃尔什矩阵的性质 尺寸是2的相同的功率。因此,我们可以用2的指数是指这些矩阵这里,美其名曰W(0),W(1),W(2)... W(0)定义为[[1]]。 对于n>0, W(n)看起来像: [[W(n-1) W(n-1)] [W(n-1) -W(n-1)]] 因此W(1): [[1 1] [1 -1]] 并且W(2)是: [[1 1 1 1] [1 -1 1 -1] [1 1 -1 -1] [1 -1 -1 1]] 模式还在继续... 你的任务 编写一个程序或函数,将整数作为输入n并W(n)以任何方便的格式打印/返回。.svg只要是正确的,它就可以是一个数组数组,一个布尔值的扁平数组,一个图像,您可以为其命名。 禁止出现标准漏洞。 几件事: 对于W(0),1甚至不需要包装一次。它可以仅仅是一个整数。 您可以对1个索引的结果进行查询- W(1)然后为[[1]]。 测试用例 0 -> [[1]] 1 -> [[1 1] [1 -1]] …
22 code-golf  math  matrix 

3
我不是
注意:这个问题的标题应该是“ Loop It”,但是由于标题必须至少包含15个字符,因此会有一些不可见的空格。这样便可以搜索挑战。 挑战 给定平面中唯一积分点的有限列表,找到一个多边形,该多边形的顶点恰好是这些点的,不会自相交的。 细节 作为输入,您可以采用两个带有x和y坐标的列表或成对的列表。 输入列表至少包含3个点。 请注意,这意味着永远不会有唯一的解决方案。 可以假定输入列表不是共线的(点不能包含在一行中),这意味着实际上存在这样一个非自相交的多边形。 每个顶点的角度是任意的,包括180°。 对于长度的输入n,输出应该是一个排列(p1,p2,p3,...,pn)的(1,2,3,...,n),其中的k第条目pk表示p在输入列表个点。这意味着我们有一条线从p1to p2,一条线从p2to p3等等,以及一条线从pnto p1。(您也可以使用从0开始的索引。)或者,您可以按照正确的顺序输出输入点的列表。 例子 假设我们有要点[(0,0),(0,1),(1,0),(-1,0),(0,-1)],我们想代表以下路径: 这意味着我们将输出列表 [5,1,4,2,3] 这里有更多建议可以尝试(我建议查看相应的地块以验证目标。) Triangle [(0,0),(0,1),(1,0)] S-Curve [(0,0),(0,1),(0,2),(0,3),(0,4),(1,0),(2,0),(2,1),(2,2),(2,3),(2,4),(3,4),(4,0),(4,1),(4,2),(4,3),(4,4)] L-Shape [(4,0),(1,0),(3,0),(0,0),(2,0),(0,1)] Menger Sponge [(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1),(14,1),(15,1),(16,1),(17,1),(18,1),(19,1),(20,1),(21,1),(22,1),(23,1),(24,1),(25,1),(26,1),(27,1),(1,2),(3,2),(4,2),(6,2),(7,2),(9,2),(10,2),(12,2),(13,2),(15,2),(16,2),(18,2),(19,2),(21,2),(22,2),(24,2),(25,2),(27,2),(1,3),(2,3),(3,3),(4,3),(5,3),(6,3),(7,3),(8,3),(9,3),(10,3),(11,3),(12,3),(13,3),(14,3),(15,3),(16,3),(17,3),(18,3),(19,3),(20,3),(21,3),(22,3),(23,3),(24,3),(25,3),(26,3),(27,3),(1,4),(2,4),(3,4),(7,4),(8,4),(9,4),(10,4),(11,4),(12,4),(16,4),(17,4),(18,4),(19,4),(20,4),(21,4),(25,4),(26,4),(27,4),(1,5),(3,5),(7,5),(9,5),(10,5),(12,5),(16,5),(18,5),(19,5),(21,5),(25,5),(27,5),(1,6),(2,6),(3,6),(7,6),(8,6),(9,6),(10,6),(11,6),(12,6),(16,6),(17,6),(18,6),(19,6),(20,6),(21,6),(25,6),(26,6),(27,6),(1,7),(2,7),(3,7),(4,7),(5,7),(6,7),(7,7),(8,7),(9,7),(10,7),(11,7),(12,7),(13,7),(14,7),(15,7),(16,7),(17,7),(18,7),(19,7),(20,7),(21,7),(22,7),(23,7),(24,7),(25,7),(26,7),(27,7),(1,8),(3,8),(4,8),(6,8),(7,8),(9,8),(10,8),(12,8),(13,8),(15,8),(16,8),(18,8),(19,8),(21,8),(22,8),(24,8),(25,8),(27,8),(1,9),(2,9),(3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9),(10,9),(11,9),(12,9),(13,9),(14,9),(15,9),(16,9),(17,9),(18,9),(19,9),(20,9),(21,9),(22,9),(23,9),(24,9),(25,9),(26,9),(27,9),(1,10),(2,10),(3,10),(4,10),(5,10),(6,10),(7,10),(8,10),(9,10),(19,10),(20,10),(21,10),(22,10),(23,10),(24,10),(25,10),(26,10),(27,10),(1,11),(3,11),(4,11),(6,11),(7,11),(9,11),(19,11),(21,11),(22,11),(24,11),(25,11),(27,11),(1,12),(2,12),(3,12),(4,12),(5,12),(6,12),(7,12),(8,12),(9,12),(19,12),(20,12),(21,12),(22,12),(23,12),(24,12),(25,12),(26,12),(27,12),(1,13),(2,13),(3,13),(7,13),(8,13),(9,13),(19,13),(20,13),(21,13),(25,13),(26,13),(27,13),(1,14),(3,14),(7,14),(9,14),(19,14),(21,14),(25,14),(27,14),(1,15),(2,15),(3,15),(7,15),(8,15),(9,15),(19,15),(20,15),(21,15),(25,15),(26,15),(27,15),(1,16),(2,16),(3,16),(4,16),(5,16),(6,16),(7,16),(8,16),(9,16),(19,16),(20,16),(21,16),(22,16),(23,16),(24,16),(25,16),(26,16),(27,16),(1,17),(3,17),(4,17),(6,17),(7,17),(9,17),(19,17),(21,17),(22,17),(24,17),(25,17),(27,17),(1,18),(2,18),(3,18),(4,18),(5,18),(6,18),(7,18),(8,18),(9,18),(19,18),(20,18),(21,18),(22,18),(23,18),(24,18),(25,18),(26,18),(27,18),(1,19),(2,19),(3,19),(4,19),(5,19),(6,19),(7,19),(8,19),(9,19),(10,19),(11,19),(12,19),(13,19),(14,19),(15,19),(16,19),(17,19),(18,19),(19,19),(20,19),(21,19),(22,19),(23,19),(24,19),(25,19),(26,19),(27,19),(1,20),(3,20),(4,20),(6,20),(7,20),(9,20),(10,20),(12,20),(13,20),(15,20),(16,20),(18,20),(19,20),(21,20),(22,20),(24,20),(25,20),(27,20),(1,21),(2,21),(3,21),(4,21),(5,21),(6,21),(7,21),(8,21),(9,21),(10,21),(11,21),(12,21),(13,21),(14,21),(15,21),(16,21),(17,21),(18,21),(19,21),(20,21),(21,21),(22,21),(23,21),(24,21),(25,21),(26,21),(27,21),(1,22),(2,22),(3,22),(7,22),(8,22),(9,22),(10,22),(11,22),(12,22),(16,22),(17,22),(18,22),(19,22),(20,22),(21,22),(25,22),(26,22),(27,22),(1,23),(3,23),(7,23),(9,23),(10,23),(12,23),(16,23),(18,23),(19,23),(21,23),(25,23),(27,23),(1,24),(2,24),(3,24),(7,24),(8,24),(9,24),(10,24),(11,24),(12,24),(16,24),(17,24),(18,24),(19,24),(20,24),(21,24),(25,24),(26,24),(27,24),(1,25),(2,25),(3,25),(4,25),(5,25),(6,25),(7,25),(8,25),(9,25),(10,25),(11,25),(12,25),(13,25),(14,25),(15,25),(16,25),(17,25),(18,25),(19,25),(20,25),(21,25),(22,25),(23,25),(24,25),(25,25),(26,25),(27,25),(1,26),(3,26),(4,26),(6,26),(7,26),(9,26),(10,26),(12,26),(13,26),(15,26),(16,26),(18,26),(19,26),(21,26),(22,26),(24,26),(25,26),(27,26),(1,27),(2,27),(3,27),(4,27),(5,27),(6,27),(7,27),(8,27),(9,27),(10,27),(11,27),(12,27),(13,27),(14,27),(15,27),(16,27),(17,27),(18,27),(19,27),(20,27),(21,27),(22,27),(23,27),(24,27),(25,27),(26,27),(27,27)]

3
绘制ASCII密钥签名
给定音符输入,输出高音谱号上相应主键的ASCII绘图。 以下是所有主要键(不包括双尖音或双平键)及其对应的键签名: Wikipedia用户Justin Bill 的五分之三豪华4圈,版权CC BY-SA 3.0 如果输入是带有尖音的键,请使用适当数量的尖音绘制以下ASCII艺术作品: # -#------- # ----#---- # -------#- # --------- --------- 如果输入是带平键的键: --------- b ----b---- b -b------- b -----b--- b --------- 以下是可能输入的简要摘要,以及它们使用了多少尖锐或平坦的物体: 0 1 2 3 4 5 6 7 # C G D A E B F# C# b C F Bb Eb …

12
三元三角形
这个想法主要来自BIO 2017 q1。我从Binary Sequences挑战中提出了发布此挑战的想法,因为很多人似乎都喜欢它。 另外,这是我没有在沙箱上发布的第一个挑战。如果没人喜欢,我将其删除。 规则 取三进制数字序列(基数为3);这可以是字符串,数组或数值以及前面的零的数目。 对于三角形中的每一行,都会生成下面的一行,直到最后一行只有一位为止。要查找其他两个数字以下的数字,如果上面的其他两个数字相等,则该数字将与其上方的两个数字相同。否则,它将是不等于它们中任何一个的数字。这是一个例子: 0 0 1 2 0 1 2 2 0 2 0 1 2 0 2 1 1 2 0 1 1 1 0 1 2 1 2 2 0 0 2 1 0 0 2 1 您只需要返回最后一行。 使您的代码简短。 测试用例 0 -> 0 …

13
哈夫尼亚人Codegolf
挑战是为矩阵的Hafnian写codegolf 。对称矩阵的2nHafnian 定义为:2nA 下面就2N代表了一组整数的所有排列的,从1到2n,那就是[1, 2n]。 Wikipedia链接讨论了邻接矩阵,但是您的代码应适用于任何实值对称输入矩阵。 对于那些对Hafnian应用程序感兴趣的人,mathoverflow链接讨论了更多内容。 您的代码可以随意输入,并以任何合理的格式提供输出,但是请在答案中包括一个完整的示例,其中包括有关如何向代码提供输入的明确说明。 输入矩阵始终为正方形,最大为16 x16。无需处理空白矩阵或奇数维矩阵。 参考实施 这是Xcoder先生提供的一些示例python代码。 from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n = len(matrix) // 2 for sigma in permutations(range(n*2)): prod = 1 for j in range(n): prod *= matrix[sigma[2*j]][sigma[2*j+1]] my_sum += prod return my_sum / …

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.