每日总结

今天学习了tensorflow的基本使用keras,安装了PostgreSql数据库,并做了一定的了解,研究了n阶矩阵求m次幂的算法

copy
package Basic; import java.util.Scanner; /** * 矩阵乘法 * 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) * 输入格式 * 第一行是一个正整数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 */ public class Basic_17 { /** * 注意考虑特殊的单位矩阵,0次幂 * @param args */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //n存放矩阵的阶数 int n = scanner.nextInt(); //m存放矩阵的次幂 int m =scanner.nextInt(); //arr存放最初的矩阵 int[][] arr = new int[n][n]; //res存放结果矩阵 int[][] res = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { arr[i][j] = scanner.nextInt(); res[i][j] = arr[i][j]; } } if (m != 0){//当为零时,是单位矩阵 //运算m次矩阵乘法 for (int i = 0; i < m - 1; i++) { //将数组临时存放,避免中途赋值影响矩阵数值从而影响计算结果 int[][] temp = new int[n][n]; //开始运算 for (int j = 0; j < n; j++) { for (int k = 0; k < n; k++) { //给res[i][j]进行赋值 //int tmp临时存放矩阵中的部分值 int tmp = 0; for (int l = 0; l < n; l++) { tmp += res[j][l] * arr[l][k]; } temp[j][k] = tmp; } } //将结果赋值给结果矩阵 for (int j = 0; j < n; j++) { for (int k = 0; k < n; k++) { res[j][k] = temp[j][k]; } } } }else { //将结果矩阵转为单位矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j){ res[i][j] = 1; }else { res[i][j] = 0; } } } } //输出结果矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.print(res[i][j] + " "); } System.out.print("\n"); } } }
posted @   夜月薇凉映银弩  阅读(44)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起