#Michael S.Branicky编写的Python程序(3.6),2021年1月26日#A006045所有2 X 2矩阵的阶数总和,条目mod n。#(Python)来自numba import njit来自itertools导入产品@尼吉特def mmm2(A,B,modder):#2x2的矩阵乘法模return((A[0]*B[0]+A[1]*B[2])%修改器,(A[0]*B[1]+A[1]*B[3])%修改程序,(A[2]*B[0]+A[3]*B[2])%模型,(A[2]*B[1]+A[3]*B[3])%模型)@尼吉特定义顺序(A,modder):Ak,k=A,1而mmm2(Ak,Ak,modder)!=Ak:Ak,k=mmm2(Ak,A,modder),k+1返回k@尼吉特定义a(n):s=0对于范围(n)内的a:对于范围(n)中的b:对于范围(b,n)中的c:#对称对于范围(n)中的d:如果c==b:s+=顺序((a,b,c,d),n)其他:s+=2*阶((a,b,c,d),n)#对称返回s打印([a(n)代表范围(1,31)中的n)])#~~~~打印()#生成b文件从时间导入时间time0=时间()对于范围(110001)中的n:a=a(n)打印(n,an,time()-time0,flush=True)打开('b006045.txt','a')为f:f.write(f“{n}{an}\n”)