矩阵幂(矩阵相乘)

矩阵幂(矩阵相乘)题目描述给定一个 n n 的矩阵 求该矩阵的 k 次幂 即 P k 输入描述 第一行 两个整数 n 2 lt n lt 10 k 1 lt k lt 5 两个数字之间用一个空格隔开 含义如上所示 接下来有 n 行 每行 n 个正整数 其中 第 i 行第 j 个整数表示矩阵中第 i 行第 j 列的矩阵元素 Pij 且 0 lt Pij lt 10 另外 数据保证最后结果不会超过 10 8 输出描述 对于每组测试数据 输

题目描述

给定一个n*n的矩阵,求该矩阵的k次幂,即P^k。

输入描述:

 第一行:两个整数n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,含义如上所示。 接下来有n行,每行n个正整数,其中,第i行第j个整数表示矩阵中第i行第j列的矩阵元素Pij且(0<=Pij<=10)。另外,数据保证最后结果不会超过10^8。

输出描述:

对于每组测试数据,输出其结果。格式为: n行n列个整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。
示例1

输入

2 2 9 8 9 3 

输出

153 96 108 81 

#include<iostream> #include<string.h> using namespace std; struct matrix//用结构体封装一个二维数组 { int a[100][100]; }origin,res;//res.a存储结果 ,origin.a是需要运算的矩阵 ,k是次幂数 ,n是矩阵的行列数 matrix multiply(matrix x,matrix y,int N)//矩阵相乘函数 { matrix temp; memset(temp.a,0,sizeof(temp.a)); for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { for(int k=0;k<N;k++) { temp.a[i][j]+=x.a[i][k]*y.a[k][j]; } } } return temp; } int main() { int n,k,i,j; while(~scanf("%d%d",&n,&k)) { for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&origin.a[i][j]); k--; res=origin; while(k--) { res=multiply(res,origin,n); } for(i=0;i<n;i++){ for(j=0;j<n-1;j++) printf("%d ",res.a[i][j]); printf("%d\n",res.a[i][n-1]); } } return 0; } 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232746.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS3 选择器

    CSS3 选择器CSS3选择器分为:结构型伪类选择器、UI元素状态伪类选择器,否定选择器,和伪元素一、结构型伪类选择器:first-child选择某个元素的第一个子元素; :last-child选择某个元素的最后一个子元素; :nth-child()选择某个元素的一个或多个特定的子元素; :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算; :…

    2022年7月11日
    19
  • blob视频如何下载_blob加密视频下载

    blob视频如何下载_blob加密视频下载前言网页上有些视频是直接给的视频地址,那么很多浏览器都有插件进行视频下载,比如猎豹浏览器的:浏览器中有些视频是通过blob:https://baike.baidu.com/bf834217-9442-4c98-9ef6-0bd5f3408a4e的形式给出的。blob后面的网址不能直接访问。这是分片段进行加载的。。。比如百度百科搜索中的视频:离子液体这篇博客教你如何下载此类视频。准…

    2025年7月22日
    4
  • 博客背景颜色怎么改_皮肤图片

    博客背景颜色怎么改_皮肤图片步骤:管理博客–&amp;amp;amp;amp;amp;gt;博客设置–&amp;amp;amp;amp;amp;gt;鼠标箭头移至当前模板–&amp;amp;amp;amp;amp;gt;鼠标右键–&amp;amp;amp;amp;amp;gt;检查–&amp;amp;amp;amp;amp;gt;找到checked=“checked”readonly将这段代码剪切后–&amp;amp;amp;amp;amp;gt;粘贴

    2022年10月9日
    2
  • vue的$on方法_or指令的作用是

    vue的$on方法_or指令的作用是v-on监听事件可以用v-on指令监听DOM事件,并在触发时运行一些JavaScript代码。事件代码可以直接放到v-on后面,也可以写成一个函数。示例代码如下:<divid

    2022年7月30日
    5
  • datagrip mac激活【2021免费激活】

    (datagrip mac激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html00OE5RWT28-eyJsa…

    2022年3月30日
    149
  • nginx基本配置「建议收藏」

    nginx基本配置「建议收藏」Nginx概念Nginx是一个高性能的HTTP和反向代理服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。Nginx专为性能优化而开发,性能是

    2022年7月1日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号