- 博客(21)
- 收藏
- 关注
原创 线性筛算法
4)利用M * P’ (所有不大于M中最小素数的合集)标记N1,N2,N3 ······1、标记一个范围内的数字是否是合数,没有标记的则为素数。2、算法的空间复杂度为O(n),时间复杂度为O(n)利用线性筛算法枚举100以内所有素数。3)p一定小于等于M中最小的素因子。2)N可以表示成为p * M。1)N中最小的素数为p。
2024-07-06 21:23:59
310
1
原创 素数筛算法
1、标记一个范围内的数字是否是合数,没有被标记的则为素数2、算法的空间复杂度为 O(N),时间复杂度为 O(N * loglogN)3、总体思想是用素数去标记掉不是素数的数字,例如我知道了 i 是素数, 那么2 * i,3 * i, 4 * i……就都不是素数1、用 prime[ i ]来标记 i 是否是合数2、标记为 1 的数字为合数,否则为素数3、第⼀次知道 2 是素数,则将 2 的倍数标记为 14、向后找到第⼀个没有被标记的数字 i5、将 i 的倍数全部标记为合数。
2024-07-05 21:33:11
265
原创 定理证明:任何数的乘积等于其最大公约数乘最小公倍数
设:a * b = q * m’ => m’ = a * b / q = b * (a / q) = a * (b / q)考虑:m’ / m = (a * b) / q / (a * b) / p = p / q 属于正整数。则有m = a * b / p = a * (b / p) = b * (a / p)所以:a * b = p * m 且最大公约数能被公约数整除。所以:(b / p)和(a / p)为正整数。所以:(a / q)和(b / q)为正整数。因为:a * b是a与b的公倍数。
2024-07-03 23:44:20
715
原创 【欧拉计划】030 各位数字的五次幂
在枚举的过程中,到底该枚举多大的范围。一个n位数字的最大值是10^n -1 // '-1’影响不大一个n位数字每位最大为9,题目中是一个5位数,一共为n位,所以9^5 * n可以发现,f,g函数单调递增 n = 5.xxx处为两函数交点,所以n = 6,g(6)为这道题的上限。枚举的上界为354294。
2024-06-07 16:02:34
712
原创 二进制数据的读与写:fread和fwrite
参数解释:buffer : 数据区的首地址;size : 每个数据的大小;count : 写入数据个数;fp : 文件指针。
2024-05-27 20:07:20
147
原创 fseek与ftell的基本用法
fseek :定位文件指针,由文件指针的位置和偏移量来决定。ftell : 返回文件指针相对于起始位置的偏移量。参数解析 :fseek第一个参数为流,第二个参数为偏移量,第三个参数为文件指针定位的位置。参数解析:文件指针。
2024-05-27 18:29:02
250
原创 static在修饰函数时的用法
在多个文件链接的过程中同名定义会发生冲突,而给定义加上static关键字后,在链接阶段定义在当前对象文件中是可见的,在跨对象文件中是不可见的。改变该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用。
2024-05-25 18:18:01
139
原创 初识注册函数
由此,我们可以初识注册函数——将某些功能或者信息注册到系统中,当我们系统中的主函数运行起来的时候,这些信息已经被注册好了。关键字可以发现在主函数里没有调用任何函数,可运行结果确有给。在主函数运行起来的时候,这些信息已经被注册好了。将某个功能注册到系统中的函数。
2024-05-25 17:06:10
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人