每日总结
今天学习了tensorflow的基本使用keras,安装了PostgreSql数据库,并做了一定的了解,研究了n阶矩阵求m次幂的算法
copypackage 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");
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!