矩阵快速乘法---代码
矩阵乘法的核心代码:
while(N){if(N&1)res=res*A;n>>=1;A=A*A;}
然后是示例代码:
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <iostream>
using namespace std;int N;struct matrix
{int a[3][3];
}origin,res;matrix multiply(matrix x,matrix y)
{matrix temp;memset(temp.a,0,sizeof(temp.a));for(int i=0;i<3;i++){for(int j=0;j<3;j++){for(int k=0;k<3;k++){temp.a[i][j]+=x.a[i][k]*y.a[k][j];}}}return temp;
}void init()
{printf("随机数组如下:\n");for(int i=0;i<3;i++){for(int j=0;j<3;j++){origin.a[i][j]=rand()%10;printf("%8d",origin.a[i][j]);}printf("\n");}printf("\n");memset(res.a,0,sizeof(res.a));res.a[0][0]=res.a[1][1]=res.a[2][2]=1; //将res.a初始化为单位矩阵
}void calc(int n)
{while(n){if(n&1)res=multiply(res,origin);n>>=1;origin=multiply(origin,origin);}printf("%d次幂结果如下:\n",n);for(int i=0;i<3;i++){for(int j=0;j<3;j++)printf("%8d",res.a[i][j]);printf("\n");}printf("\n");
}
int main()
{while(cin>>N){init();calc(N);}return 0;
}
转载于:https://www.cnblogs.com/jasonkent27/p/4098455.html
矩阵快速乘法---代码相关推荐
- 蓝桥杯 算法提高 递推求值(矩阵快速幂)详解
传送门 问题描述 已知递推公式: F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5, F(n, 2)=F(n-1, 1) + 3F(n-3, 1) + 2F(n-3, 2) + 3 ...
- 矩阵的乘法和快速幂的一些理解(适用初学者)
矩阵是线性代数的知识...后悔没好好学了... 第一部分:矩阵的基础知识 1.结合性 (AB)C=A(BC). 2.对加法的分配性 (A+B)C=AC+BC,C(A+B)=CA+CB . 3.对数乘的 ...
- 疯子的算法总结(五) 矩阵乘法 (矩阵快速幂)
学过线性代数的都知道矩阵的乘法,矩阵乘法条件第为一个矩阵的行数等与第二个矩阵的列数,乘法为第一个矩阵的第一行乘以第二个矩阵的第一列的对应元素的和作为结果矩阵的第一行第一列的元素.(详解参见线性代数) ...
- 快速幂、矩阵快速幂、快速乘法
快速幂 快速幂是我们经常用到的一种算法,快速幂顾名思义就是快速的幂运算.我们在很多题目中都会遇到幂运算,但是在指数很大的时候,我们如果用for或者是pow就会超时,这时候就用到了快速幂. 快速幂的原理 ...
- 矩阵问题入门(矩阵乘法and矩阵快速幂)acm寒假集训日记22/1/15
今天凌晨3点才睡,没想到通过看小说抑制玩游戏,反而看小说的时间更长. u1s1:那小说太刺激了,晚上看很有感觉,风吹草动我就会猛地看过去(类似茄子说柜子动了,哈哈),真TM(语气词)练胆量!!!..Q ...
- 43行代码AC_HDU-2604 Queuing(矩阵快速幂,附详细的知识讲解、模板例题)
一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 传送门3.1-->HDU-1575(经典矩阵快速幂模板题1) 传送门3.2--& ...
- 43行代码AC——HDU 1757 A Simple Math Problem(矩阵快速幂,附快速幂讲解)
一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 代码(去掉空行43行) #include<iostream> #inclu ...
- 40行代码AC_HDU 1575 TrA 矩阵快速幂(附快速幂+矩阵快速幂的讲解)
一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 心路历程 1.开始看成求主对角线元素和的n次幂了,用快速幂解得.结果压根不对,又仔细看 ...
- 快速幂,矩阵乘法,矩阵快速幂
快速幂利用二进制 复杂度 log级 #include <cstdio> #include <iostream> #include <string> #include ...
- CCF201512-5 矩阵【矩阵快速幂】(募集解题代码)
试题编号: 201512-5 试题名称: 矩阵 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 创造一个世界只需要定义一个初状态和状态转移规则. 宏观世界的物体运动规律始终跟物 ...
最新文章
- 手把手教你架构3d游戏引擎pdf_一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟...
- composer Failed to decode zlib stream
- JPA基础(八):分析JPA与持久化实现产品对接的源代码
- mPaaS 客户端问题排查之突如其来的“白屏”等待
- 要玩转这个星际争霸II开源AI,你只需要i5+GTX1050
- 【2022】多线程并发编程面试真题
- 使用Acronis Disk Director Suite调整分区大小
- 12.企业应用架构模式 --- 对象-关系结构模式
- linux查看cpu核数命令,Linux系統下如何查看CPU型號、核心數量、頻率和溫度?
- CIS基线合集-常用版本操作系统、数据库及中间件
- ai怎么做盒子效果图_仅需5步!手把手教你如何用AI绘制3D效果形象
- WIN10电脑端微信字体变模糊如何调节回来
- 论文发表都有哪些期刊
- 计算机程序设计c++ 5-1:函数的调用格式
- Python人工智能实例 │ 使用Haar级联进行人脸检测、使用CAMShift算法、光流法进行人脸追踪
- Redis系列(五):Redis的过期键删除策略
- iNFTnews|一键生成数字藏品,VERTU Web3手机是未来吗?
- Java流程控制相关知识(四)
- 信息系统项目管理师案例分析万金油
- jquery 打开新网页
热门文章
- python怎么让py里面逐行运行_Python读写文件详解,看完这篇即可完全理解「收藏」...
- java radix sort_Java RadixSort
- 贝叶斯概率推断(一):贝叶斯思维
- Docker Kubernetes k8s 从入门到精通 阿里云实战命令
- 算法突击训练营:开学第1课 听课总结
- Jupyter Notebook 添加说明表格Cell
- Sublime 3 打开GBK 编码文件中文乱码 解决办法
- 数据集:RD支出、GDP和能源消耗
- python append和extend_Python中append和extend区别
- 理解Visual Studio 解决方案文件格式(.sln)