基本数学知识1【2024蓝桥杯0基础】-学习笔记

本文介绍了数学中的全排列、行列式的性质及其在编程中的应用,包括高斯消元求行列式的方法以及朴素素数判定和埃氏判定的代码实现。作者通过实例展示了这些概念,并分享了学习心得。
摘要由CSDN通过智能技术生成

基本数学知识1

全排列

在这里插入图片描述

例题分析

在这里插入图片描述

行列式的性质

在这里插入图片描述
在这里插入图片描述

2.矩阵A的某一行(列)乘以k加到另一行(列),其行列式不变
3.矩阵A的某一行(列)乘以k,行列式的值|A’|= kIA|
4.矩阵A任意两行或两列互换,|A’|=-lA|
证明:逆序数的性质两个数交换最后的逆序对要不加一要不就减一

代码复现
#高斯消元求行列式
def partial_pivot(mat, n, i):
    #进行部分主元选取,返回行交换后的矩阵和交换次数
    max_row = i
    for r in range(i + 1, n):
        if abs(mat[r][i]) > abs(mat[max_row][i]):
            max_row = r
    # 交换行
    mat[i], mat[max_row] = mat[max_row], mat[i]
    return mat, 1 if max_row != i else 0

def gauss_elimination_determinant(mat):
    n = len(mat)
    det = 1
    swap_count = 0

    for i in range(n):
        # 进行部分主元选取
        mat, swaps = partial_pivot(mat, n, i)
        swap_count += swaps

        # 如果主元为0,则行列式为0
        if mat[i][i] == 0:
            return 0

        det *= mat[i][i]
        for j in range(i + 1, n):
            factor = mat[j][i] / mat[i][i]
            for k in range(i, n):
                mat[j][k] -= factor * mat[i][k]

    # 交换行会改变行列式的符号
    det *= (-1) ** swap_count
    return det

# 示例矩阵
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 10]
]

det = gauss_elimination_determinant(matrix)
print("行列式的值为:", det)

朴素素数判定

在这里插入图片描述

代码复现

在这里插入图片描述

埃氏判定

在这里插入图片描述

代码复现

在这里插入图片描述

例题分析

在这里插入图片描述

代码复现
def get_prime(n):
    vis  = [1, 1]+[0]*(n-1)
    prime = []
    for i in range(2, n+1):
        if vis[i] == 0:
            prime.append(i)
            for j in range(i+i,n + 1, i):
                vis[j] = 1
    return prime,vis
n = int(input())
prime, vis = get_prime(n)
ans = 0
for i in range(len(prime)):
    for j in range(i + 1, len(prime)):
        if vis[prime[j]-prime[i]] == 0:
            ans += 1
print(ans)

感悟

坚持总会有胜利的一天!

蓝桥杯云课学习笔记分享,欢迎大佬们批评指正!

一直在进步就好咯!

by 闻不多

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值