博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基础训练—矩阵乘法C语言 & C++ & JAVA(给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如:A = 1 2 3 4 A的2次幂  7 10  15 22 输入格式   第一)
阅读量:3961 次
发布时间:2019-05-24

本文共 2127 字,大约阅读时间需要 7 分钟。

问题描述 矩阵乘法

给定一个N阶矩阵A,输出A的M次幂(M是非负整数)

  例如:
  A =
  1 2
  3 4
  A的2次幂
  7 10
  15 22
输入格式
  第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数
  接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值
输出格式
  输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开
样例输入
2 2
1 2
3 4
样例输出
7 10
15 22

直接代码呈上:C语言

//注释里面有解释

#include 
#include
#define N 100int A[N][N],t[N][N],r[N][N];int main(){
int n,m,i,j,k; scanf("%d%d",&n,&m);//输入矩阵的阶数和幂次数 for(i=0;i

运行示例

在这里插入图片描述

C++:

#include
#include
#include
using namespace std; int a[101][101]; int c[101][101]; int ans[101][101]; int main() {
int i,j,k,l,m,n; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j]); memset(ans,0,sizeof(ans)); for(i=1;i<=n;i++) ans[i][i]=1; for(k=1;k<=m;k++) {
memset(c,0,sizeof(c)); for(i=1;i<=n;i++)for(j=1;j<=n;j++)for(l=1;l<=n;l++)c[i][j]+=ans[i][l]*a[l][j]; for(i=1;i<=n;i++)for(j=1;j<=n;j++)ans[i][j]=c[i][j]; } for(i=1;i<=n;i++) {
for(j=1;j

JAVA:

import java.io.*;public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str[] = br.readLine().split(" "); int Fir = Integer.parseInt(str[0]); int Sec = Integer.parseInt(str[1]); int[][] Mat = new int[Fir][Fir]; int[][] MatPro = new int[Fir][Fir]; for (int row_1 = 0; row_1 < Fir; row_1++) {
String input[] = br.readLine().split(" "); for (int row_2 = 0; row_2 < Fir; row_2++) {
Mat[row_1][row_2] = Integer.parseInt(input[row_2]); } } func(MatPro, Mat, Fir, Sec); } public static void func(int[][] MatPro, int[][] Mat, int a, int b) {
int[][] tag = new int[a][a]; for (int x = 0; x < a; x++) {
for (int y = 0; y < a; y++) {
tag[x][y] = Mat[x][y]; } } if (b == 0) {
for (int x = 0; x < a; x++) {
for (int y = 0; y < a; y++) {
if (x == y) {
MatPro[x][y] = 1; } else {
MatPro[x][y] = 0; } System.out.print(MatPro[x][y] + " "); } System.out.println(); }

转载地址:http://ljrzi.baihongyu.com/

你可能感兴趣的文章
简单介绍如何使用robotium进行自动化测试
查看>>
Python之操作XML文件
查看>>
eclipse+ADT 进行android应用签名详解
查看>>
Robotium只有apk文件例如Music.apk
查看>>
UI自动化测试框架对比(二)
查看>>
Selenium-webdriver系列教程(9)——如何操作select下拉框
查看>>
Selenium-webdriver系列教程(10)——如何智能的等待页面加载完成
查看>>
Robotium测试NotePad(一)
查看>>
Robotium测试NotePad(二) //测试添加文本
查看>>
Robotium测试NotePad(二) //测试删除文本
查看>>
Robotium只有apk文件时进行测试
查看>>
Robotium测试NotePad(三) //测试修改文本
查看>>
怎样有效降低测试的轮次?
查看>>
功能测试用例设计策略
查看>>
真正优秀的质量工程师,都有这些特质
查看>>
JIRA与confluence的用户整合
查看>>
Robotium测试——API介绍
查看>>
autoit3——打开窗口
查看>>
autoit3 ie.au3 函数之——ControlClick
查看>>
autoit3 ie.au3 函数之——_FileWriteLog日志
查看>>