首页 > 其他 > 详细

矩阵快速幂代码(只有代码)

时间:2020-03-20 22:20:56      阅读:83      评论:0      收藏:0      [点我收藏+]
//矩阵快速幂:
struct matrix
{
	int n,m;
	int z[233][233];
	matrix()
	{
		n=m=0;
		memset(z,0,sizeof(z));
	}
};

matrix operator*(const matrix &a,const matrix &b)
{
	matrix c;
	c.n=a.n;
	c.m=b.m;
	for(int i=1;i<=c.n;i++)
		for(int j=1;j<=c.m;j++)
			for(int k=1;k<=a.m;k++)
				c.z[i][j]=c.z[i][j]+a.z[i][k]*b.z[k][j];
	return c;
}

matrix ksm(matrix x,int y)
{
	if(y==0)
	{
		matrix z;
		z.n=z.m=x.n;
		for(int a=1;a<=z;a++)
			z.z[a][a]=1;
		return z;
	}
	matrix z=ksm(x,y>>1);
	z=z*z;
	if(y%2==1)
		z=z*x;
	return z;
 } 

  

矩阵快速幂代码(只有代码)

原文:https://www.cnblogs.com/liumengliang/p/12535181.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!