题记(32)--矩阵K次幂

目录

一、题目内容

二、输入描述

三、输出描述

四、输入输出示例

五、完整C语言代码


一、题目内容

给定一个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列个整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。

四、输入输出示例

输入:

复制代码
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

五、完整C语言代码

cpp 复制代码
AC代码~

#include<stdio.h>
int main() {
    int a[10][10], b[10][10];
    int tmp[10][10];   // 临时数组
    int n, k, sum;
    while (scanf("%d%d", &n, &k) != EOF) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                scanf("%d", &a[i][j]);
                b[i][j] = a[i][j];
            }
        }
        for (int count = 1; count < k; count++) {
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    sum = 0;
                    for (int k = 0; k < n; k++) {
                        sum += a[i][k] * b[k][j];
                    }
                    tmp[i][j] = sum;
                }
            }
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++)
                    b[i][j] = tmp[i][j];
            }
        }                                 // 打印结果
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n - 1; j++) {
                printf("%d ", b[i][j]);
            }
            printf("%d\n", b[i][n - 1]);
        }
    }
    return 0;
}
相关推荐
别动我齐刘海9 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
傻啦嘿哟10 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅11 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
闻道且行之11 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
莫浅子12 小时前
day01-USB架构与枚举
c++·单片机·嵌入式驱动
小欣加油12 小时前
leetcode3069 将元素分配到两个数组中I
数据结构·c++·算法·leetcode·职场和发展
不会代码的小猴12 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
沫璃染墨13 小时前
《Qt从零入门系列(六):信号与槽进阶——从多种连接方式到Lambda表达式》
开发语言·c++·qt·代码规范·设计规范·qt5
小小龙学IT14 小时前
ZeroMQ(libzmq)开源消息库深度解析:brokerless 时代的轻量消息内核
c++·开源
Benny_Tang14 小时前
题解:P10230 [COCI 2023/2024 #4] Lepeze
c++·算法