求一个3*3矩阵对角线元素之和

简介: 求一个3*3矩阵对角线元素之和

C语言实现


方法一:直接访问对角线元素


c复制代码
 #include <stdio.h>  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
     int sum = 0;  
 
   
 
     // 遍历对角线元素  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i]; // 加上主对角线上的元素  
 
     }  
 
   
 
     printf("Diagonal sum is: %d\n", sum);  
 
   
 
     return 0;  
 
 }



方法二:使用函数封装


c复制代码
 #include <stdio.h>  
 
   
 
 // 定义一个函数来计算3x3矩阵对角线元素之和  
 
 int diagonalSum(int matrix[3][3]) {  
 
     int sum = 0;  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i];  
 
     }  
 
     return sum;  
 
 }  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
   
 
     printf("Diagonal sum is: %d\n", diagonalSum(matrix));  
 
   
 
     return 0;  
 
 }


Python实现

方法一:直接访问对角线元素


python复制代码
 def diagonal_sum(matrix):  
 
     return sum(matrix[i][i] for i in range(len(matrix)))  
 
   
 
 # 示例矩阵  
 
 matrix = [  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ]  
 
   
 
 print("Diagonal sum is:", diagonal_sum(matrix))



方法二:使用NumPy库(虽然这不是纯Python的方法,但非常高效)

如果你在处理大型矩阵或需要矩阵运算的库,NumPy是一个很好的选择。


python复制代码
 import numpy as np  
 
   
 
 # 使用NumPy创建矩阵  
 
 matrix = np.array([  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ])  
 
   
 
 # 使用NumPy的trace函数计算对角线之和  
 
 print("Diagonal sum is:", np.trace(matrix))


注意:NumPy方法对于处理大型数据集或需要执行复杂矩阵运算的场景特别有用。对于简单的3x3矩阵,直接使用Python列表和循环(如方法一)可能就足够了。

image.png


相关文章
|
8月前
|
机器学习/深度学习 运维 安全
《解锁深度学习识别游戏自适应外挂的隐性逻辑》
本文聚焦游戏场景下新型外挂的隐蔽性检测难题,围绕深度学习技术在识别“隐流篡改”“拟真伪装”类异常行为中的实战应用,拆解从表层特征捕捉到深层逻辑建模的技术迭代思路。通过深挖玩家行为的时序韵律、决策熵变与语义闭环,突破传统检测的规则局限,依托多模态协同建模、动态特征追踪与行为基线焕新等核心策略,精准捕捉新型外挂拟真伪装下的隐性逻辑断层与特征偏差。
559 8
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
990 23
|
缓存 Java 数据库连接
Spring Boot奇迹时刻:@PostConstruct注解如何成为应用初始化的关键先生?
【8月更文挑战第29天】作为一名Java开发工程师,我一直对Spring Boot的便捷性和灵活性着迷。本文将深入探讨@PostConstruct注解在Spring Boot中的应用场景,展示其在资源加载、数据初始化及第三方库初始化等方面的作用。
591 0
|
Web App开发 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
1673 0
|
机器学习/深度学习 自然语言处理 算法
通过RAG增强大模型回答原本无法回答的问题
RAG(检索增强生成)是一种结合信息检索和文本生成技术的方法,旨在提升大规模语言模型处理特定问题的能力。通过先从大量文档中检索相关信息,再利用这些信息生成更准确的答案,RAG特别适用于需要最新数据或专业知识的场景,如医疗咨询、法律建议等。此方法不仅提高了答案的质量和准确性,还增强了系统的可扩展性和适应性。随着技术进步,RAG有望在更多领域发挥重要作用。
1442 2
|
机器学习/深度学习 自然语言处理 算法
一个中心+三大原则 -- 阿里巴巴小蜜这样做智能对话开发平台
        在阿里巴巴智能服务事业部的X蜂会上,小蜜北京团队的高级算法专家李永彬(水德)分享了小蜜智能对话开发平台的构建,围绕平台来源、设计理念、核心技术、业务落地情况四大维度讲述了一个较为完整的智能任务型对话开发平台的全景。
5758 1
|
存储
数据结构之静态链表
数据结构之静态链表
634 0
|
负载均衡 NoSQL Java
redis7.0源码阅读(四):Redis中的IO多线程(线程池)
redis7.0源码阅读(四):Redis中的IO多线程(线程池)
666 0

热门文章

最新文章