自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 《TCP/IP网络编程》Go语言系列 -- 多播与广播

多播中用「发送者」(以下称为 Sender) 和「接收者」(以下称为 Receiver)替代服务器端和客户端。顾名思义,此处的 Sender 是多播数据的发送主体,Receiver 是需要多播组加入过程的数据接收主体。下面是示例,示例的运行场景如下:...............

2022-08-13 10:23:00 1297 1

原创 python eval函数简单使用

eval是python的一个内置函数,其作用是返回传入字符串的表达式的结果语法:eval(expression[, globals[, locals]])expression: 这个参数是一个表达式globals: 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象locals: 变量作用域,局部命名空间,如果被提供,可以是任何映射对象1. 只提供第一个参数,eval的作用就是将expression的引号去掉,保留引号中字符的原有属性m = "123"print(ev.

2020-10-12 15:48:56 1792 1

原创 无穷大常量0x7fffffff 0x3fffffff 0x3f3f3f3f

int型变量的取值范围:[-2^31, 2^31 - 1] -> [-2147483648, 2147483647]0x7fffffff = 2147483647 = (2^31 - 1) = (1 << 31) - 10x3fffffff = 1073741823 = (2^30 - 1) = (1 << 30) - 10x3f3f3f3f = 1061109567在写

2020-10-10 21:04:52 4085 1

原创 PAT Practice [1020 月饼]

PAT (Basic Level) Practice 1020 月饼#include <cstdio>#include <algorithm>struct moon_cake{ double stock; double price; double unit_price;} cake[1001];bool cmp(moon_cake A, moon_cake B) { return A.unit_price > B.unit_pric

2020-08-28 16:31:34 106

原创 结构体赋值 -- 构造函数

一般来说,定义结构体时会默认生成一个(不可见的)构造函数struct Node{ int node1; double node2; char node3; Node() {} //默认生成的构造函数};它没有返回值,所以构造函数前没有返回值类型它没有参数,所以构造函数的小括号内为空它没有函数体,所以构造函数的花括号内为空构造函数的函数名与结构体类型名相同,正是有这么一个构造函数存在,用户可以定义Node类型的变量时不初始化Node one;//对结构体中

2020-08-27 16:27:20 1730 2

原创 使用struct与typedef定义结构体

typedef定义结构体Cstruct Student {};//定义一个Student的结构体,没有声明变量。//如果需要声明一个Student类型的变量:struct Student stu_1;struct Student {} stu_1;//定义一个Student的结构体,并且声明了一个变量stu_1,//在创建结构体的同时就声明了一个变量,如果需要在创建结构体时声明多个变量,可增加。//如果还需要在别处继续声明变量:struct Student stu_2;ty

2020-08-24 13:04:44 239

原创 素数的判断方法:暴力求解,埃氏筛法,欧拉筛法

判断一个数是否为素数素数也称质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。暴力求解bool isPrime(int n) { //1不是素数 if (n <= 1) return false; for (int i = 2; i * i <= n; i++) if (n % i == 0) return false; return true;}注意,如果n接近int型

2020-08-21 20:22:34 316 1

原创 乘法逆元 -- 模运算不满足分配律

乘法逆元(a + b) % p = (a % p + b % p) % p(a - b) % p = (a % p - b % p) % p(a * b) % p = (a % p * b % p) % p(a / b) % p != (a % p / b % p) % p数学家们无法忍受除法求模时不能满足分配律,于是定义了乘法逆元定义: 若在(mod p)的意义下,对于一个整数a,有a∗x≡1(modp)a * x \equiv 1(mod p)a∗x≡1(modp),即(a*x

2020-08-18 14:36:10 863 2

原创 使用费马小定理求解逆元

费马小定理费马小定理:假如a是一个整数,p是一个质数,那么如果b是p的倍数,bp≡b(modp)b^p \equiv b(mod p)bp≡b(modp)如果b不是p的倍数,bp−1≡1(modp)b^{p - 1} \equiv 1(mod p)bp−1≡1(modp)同余式:a≡b(modp)a \equiv b(mod p)a≡b(modp)表示a和b对模p同余,即 正整数a - b能被p整除,(a−b)%p=0(a - b) \% p = 0(a−b)%p=0证明:略使用费马

2020-08-18 14:30:37 1102 1

原创 使用扩展欧几里得算法对逆元求解

扩展欧几里得算法求逆元解方程 ax + by = gcd(a, b)在欧几里得算法中通过定理gcd(a, b) = gcd(b, a%b),我们使用递归求得a与b的最大公约数,在递归边界当b = 0时,a = gcd(a, b),此时显然有a * 1 + b * 0 = gcd。对于这样的一个式子,我们能否对它进行推广呢?在递归的其中一步,通过相关定理(此处不叙述)可知 ax1+by1=gcd(a,b)ax_1 + by_1 = gcd(a, b)ax1​+by1​=gcd(a,b)中解x1、y1x

2020-08-18 14:28:46 884

原创 递推打表求逆元

递推打表求逆元目的:预先得到在(mod m)的意义下的2 - n分别对应的逆元inv[n]得到递推表达式:任取一个同余式ax≡c(modm)ax \equiv c(mod m)ax≡c(modm)一定存在y使得ax−c=myax - c = myax−c=my根据定义c×(c的逆元)≡1(modm)c \times (c的逆元) \equiv 1(mod m)c×(c的逆元)≡1(modm),所以c∗inv[c]≡1(modm)c * inv[c] \equiv 1(mod m)c∗inv[c

2020-08-18 14:22:17 157

原创 欧几里得算法求最大公约数,最小公倍数

欧几里得算法最大公约数最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个,a,b的最大公约数记为(a,b)。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。常用的是辗转相除法,也叫欧几里得算法其计算原理依赖于下面的定理:定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。最大公约数(Greatest Common Divisor)缩写为GCDgcd(a, b) = gcd(b, a mod b)证明:gcd(a,

2020-08-18 14:18:32 1394

原创 递归实现快速幂

快速幂aba^bablong long Pow(long long a, long long b) { long long ans = 1; for (int i = 0; i < b; i++) ans = ans * a; return ans;}由于指数爆炸的原因,所以题目一般求ab%moda^b \% modab%mod;使用快速幂可以更快的求出结果,它基于二分的思想,所以也称为二分幂:如果b是奇数,有ab=a∗ab−1a^b = a

2020-08-18 14:13:11 370

原创 常用的DOS功能输入输出

DOS功能调用单个字符输入格式mov ah,1int 21h功能:从键盘输入一个字符并将该字符的ASCII码送入AL中单个字符输出格式mov dl,'字符'mov ah,2int 21h功能:输出DL中的一个字符到显示器的光标处输入字符后回显mov ah,1int 21hmov dl,almov ah,2int 21h字符串输入格式DS:DX = 字节缓冲区的首地址mov ah,0ahint 21h功能:从键盘输入一串字符到缓冲区

2020-07-22 18:16:45 2450

原创 Dos系统功能调用表9号功能

9号功能:dos功能调用的9号功能完成字符串输出,串事先需要用$结尾data segment sting db 'hello world!$'data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax lea dx,string mov ah,9 int 2...

2020-04-12 15:58:12 6582

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除