矩阵快速幂算法解析
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://www.mcbbbk.com/newsview869343.html
| 上一篇: 快弘 宠物粮烘干机空气能烘干宠物... | 下一篇: 免费!富阳新增3家这类接种点 |





