当前位置: 首页 > news >正文

KY191 矩阵幂(用Java实现)

描述

给定一个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
3 3
4 8 4
9 3 0
3 5 7
5 2
4 0 3 0 1
0 0 5 8 5
8 9 8 5 3
9 6 1 7 8
7 2 5 7 3

输出:

153 96
108 81
1216 1248 708
1089 927 504
1161 1151 739
47 29 41 22 16
147 103 73 116 94
162 108 153 168 126
163 67 112 158 122
152 93 93 111 97

代码如下:

import java.util.Scanner;/** 矩阵幂*/
public class MatrixPower {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNext()) {int n = scanner.nextInt();int k = scanner.nextInt();int[][] arr = new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {arr[i][j] = scanner.nextInt();}}int[][] a = arr;for (int t = 0; t < k-1; t++) {//temp矩阵为arr矩阵的t+2次方int[][] temp = new int[n][n];//矩阵乘法的得到的结果保存到temp中for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {for (int k1 = 0; k1 < n; k1++) {temp[i][j] += a[i][k1] * arr[k1][j];}}}a = temp;}for(int i = 0;i < n; i++) {for(int j = 0;j < n; j++) {System.out.print(a[i][j]+" ");}System.out.println();}}}}

http://www.lryc.cn/news/319987.html

相关文章:

  • 基于Python的股票市场分析:趋势预测与策略制定
  • 【C++】了解一下编码
  • 生成式人工智能在金融领域:FinGPT、BloombergGPT及其未来
  • webpack5零基础入门-10babel的使用
  • SAR ADC教程系列5——FFT频谱泄露以及相干采样
  • 算法D48 | 动态规划10 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II
  • Windows10安装RubyRails步骤
  • Sqlserver 模糊查询中文及在mybatis xml【非中文不匹配查询】N@P2问题
  • 旧华硕电脑开机非常慢 电脑开机黑屏很久才显示品牌logo导致整体开机速度非常的慢怎么办
  • 【go语言开发】性能分析工具pprof使用
  • ARM_基础之RAS
  • VScode(1)之内网离线安装开发环境(VirtualBox+ubuntu+VScode)
  • Python爬虫与数据可视化源码免费领取
  • Android Studio 打包 Maker MV apk 详细步骤
  • react中hooks使用限制
  • 2024抖音矩阵云混剪系统源码 短视频矩阵营销系统
  • 力扣题目训练(22)
  • [ROS 系列学习教程] rosbag Python API
  • TCL管理Vivado工程
  • R语言:microeco:一个用于微生物群落生态学数据挖掘的R包,第四:trans_beta class
  • Excel文件导入导出,SpringBoot整合EasyExcel批量导入导出,采用的JDBC+EasyExcel(附带整个Demo)
  • Git——本地使用详解
  • 深度学习pytorch——Tensor维度变换(持续更新)
  • Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)
  • 【SQL】1174. 即时食物配送 II (窗口函数row_number; group by写法;对比;定位错因)
  • mvcc介绍
  • 强化PaaS平台应用安全:关键策略与措施
  • K8s 集群高可用master节点ETCD挂掉如何恢复?
  • 【Godot 4.2】常见几何图形、网格、刻度线点求取函数及原理总结
  • 如何利用POI导出报表