首页 > 分享 > 矩阵快速幂算法解析

矩阵快速幂算法解析

zzy的寵物

最新推荐文章于 2024-12-24 22:39:55 发布

weixin_34293246 于 2013-07-06 23:37:00 发布

#include <iostream>

#include <stdio.h>

#include <string.h>

using namespace std;

struct matrix{

int s[6][6];

}r, d, p, q,tt;

void view(matrix x){

for(int i=0; i<6; i++){

for(int j=0; j<6; j++){

cout<<x.s[i][j]<<" ";

}

cout<<endl;

}

cout<<endl;

}

matrix mult(matrix a, matrix b){

cout<<"a"<<endl;

view(a);

cout<<"b"<<endl;

view(b);

matrix temp;

memset(temp.s, 0, sizeof(temp.s));

for(int i=0; i<6; i++)

for(int j=0; j<6; j++)

for(int k=0; k<6; k++)

temp.s[i][j]=(temp.s[i][j]+a.s[i][k]*b.s[k][j])%10000;

cout<<"a*b"<<endl;

view(temp);

return temp;

}

matrix pow(int n){

matrix temp;

memset(temp.s, 0, sizeof(temp.s));

for(int i=0;i<6;i++)

temp.s[i][i]=1;

cout<<"temp"<<endl;

view(temp);

tt=r;

while(n)

{

if(n%2==0){

tt=mult(tt, tt);

n/=2;

}

else{

temp=mult(tt, temp);

n--;

}

}

return temp;

}

int

main()

{

int n, sum, k=0;

memset(r.s, 0, sizeof(r.s));

memset(d.s, 0, sizeof(d.s));

r.s[0][1]=3;

r.s[0][2]=2;

r.s[0][3]=1;

for(int i=1; i<6; i++)

r.s[i][i-1]=1;

d.s[0][0]=2;

while(cin>>n){

sum=0;

p=pow(n);

cout<<"aaaa"<<endl;

q=mult(p, d);

for(int i=0; i<6; i++){

sum+=q.s[i][0];

}

cout<<"Case "<<++k<<": "<<sum<<endl;

}

return 0;

}

转载于:https://my.oschina.net/dianpaopao/blog/142924

相关知识

蚁群算法+Dijkstra算法=二维路径规划,基于蚁群算法的机器人路径规划,matlab源码.rar资源
腾讯多任务强化学习算法登上顶刊TPAMI
深入解析Yolov7模型训练结果及评估
女明星减肥食谱大公开!揭秘杨幂拥有完美身材的秘诀
kmeans算法在matlab中的使用
宠物情深:杨幂与猫咪的flower舞
「职位对比」新瑞鹏宠物医疗集团 3D视觉算法工程师(004810)怎么样
设A为三阶矩阵,P=(α 1 ,α 2 ,α 3 )为可逆矩阵,使得P
设A是实对称矩阵,C是实可逆矩阵,B=CTAC.则( )
视频实时行为检测——基于yolov5+deepsort+slowfast算法

网址: 矩阵快速幂算法解析 https://m.mcbbbk.com/newsview869343.html

所属分类:萌宠日常
上一篇: 快弘 宠物粮烘干机空气能烘干宠物
下一篇: 免费!富阳新增3家这类接种点