摘要: 求[l, r]这段区间中有多少素数 1 ≤ l ≤ r ≤ 10 ^6 一个显然的想法是利用for循环枚举[l, r]中的每一个数。然后利用朴素算法O(√X)进行判断。 整体复杂度O(N√N),不符合要求 仍然考虑枚举判断每个数是否是素数,但我们这次从2开始判断。 考虑对于任意一个数x,不论x是否为 阅读全文
posted @ 2019-04-28 19:42 莫瑞 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 1.对于判断一个数n是否为素数,最朴素的方法是按素数的定义,试除以从2开始到m-1的整数,如果无一例外地不能整除,则该数一定是素数。 质数(prime number)又称素数,有无限个。 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 2.想一想 阅读全文
posted @ 2019-04-28 19:20 莫瑞 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。 使用freopen函数可以解决测 阅读全文
posted @ 2019-04-28 18:49 莫瑞 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。 运算说明 1. and运算 & and运算通常用于二进制的取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示 阅读全文
posted @ 2019-04-28 10:18 莫瑞 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 十进制与二进制之间的转换: (1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。 9(十进制)→1001(二进制) (2)二进制转十进制的转换原理: 就是用进制的定义:二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加。 1110(二进制)→ 14(十进制) 阅读全文
posted @ 2019-04-28 10:15 莫瑞 阅读(1850) 评论(0) 推荐(0) 编辑
摘要: 数据结构含义 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 内容解释: 数据:数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是 阅读全文
posted @ 2019-04-17 22:54 莫瑞 阅读(5023) 评论(2) 推荐(1) 编辑