CSPNOIP复习资料数学知识.docx

上传人:b****8 文档编号:29531457 上传时间:2023-07-24 格式:DOCX 页数:26 大小:222.47KB
下载 相关 举报
CSPNOIP复习资料数学知识.docx_第1页
第1页 / 共26页
CSPNOIP复习资料数学知识.docx_第2页
第2页 / 共26页
CSPNOIP复习资料数学知识.docx_第3页
第3页 / 共26页
CSPNOIP复习资料数学知识.docx_第4页
第4页 / 共26页
CSPNOIP复习资料数学知识.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

CSPNOIP复习资料数学知识.docx

《CSPNOIP复习资料数学知识.docx》由会员分享,可在线阅读,更多相关《CSPNOIP复习资料数学知识.docx(26页珍藏版)》请在冰豆网上搜索。

CSPNOIP复习资料数学知识.docx

CSPNOIP复习资料数学知识

第七章信息奥赛中的数学知识

一、逻辑代数

1、“与”运算(“·”,“∧”,and)

在逻辑问题中,如果决定某一事件发生的多个条件必须同时具备,事件才能发生,则这种因果关系称之“与”逻辑(并且)。

“与”运算又称为逻辑乘,其运算符号为“·”,有时也用“∧”表示。

两变量“与”运算关系可表示为:

F=A·B或者F=A∧B

“与”运算的运算法则为:

0·0=01·0=0

0·1=01·1=1

其中,1表示真,0表示假。

结论:

若A、B均为1,则F为1;否则,F为0

推广:

A·0=0A·1=A

2、“或”运算(“+”,“∨”,or)

在逻辑问题的描述中,如果决定某一事件是否发生的多个条件中,只要有一个或一个以上条件成立,事件便可发生,则这种因果关系称之为“或”逻辑。

“或”运算又称逻辑加,其运算符号为“+”,有时也用“∨”表示。

两变量“或”运算的关系可表示为:

F=A+B或者F=A∨B

“或”运算的运算法则为:

0+0=01+0=1

0+1=11+1=1

结论:

仅当A、B均为0时,F才为0

推广:

A+0=AA+1=1

3.“非”运算¬

在逻辑问题中,如果某一事件的发生取决于条件的否定,即事件与事件发生的条件之间构成矛盾,则这种因果关系称为“非”逻辑。

“非”运算也叫求反运算或者逻辑否定。

其运算符号为“-”,有时也用“¬”表示。

“非”运算的逻辑关系可表示为:

“非”运算的运算法则为:

¬0=1¬1=0

逻辑运算和C++中的逻辑运算相似,只不过符号不同而已。

逻辑代数的运算符和C++的运算符有如下对应关系:

┓或not对应!

(非运算)

∨或+或or对应||(或运算)

∧或·或and对应&&(与运算)

它们的运算顺序和C++中的规定是一致的,“非”优先级最高,“或”最低。

例题:

下列逻辑运算正确的是()。

A、A·(A+B)=AB、A+(A·B)=AC、A·(B+C)=A·B+A·C

D、A+(B·C)=(A+B)·(A+C)E、A+1=A

练习:

1.设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的是()。

A.(A∧B)∨(C∧D∨A)B.((A∧B)∨C)∧D

C.(B∨C∨D)∧D∧AD.A∧(D∨C)∧B

2.设A=B=true,C=D=false,以下逻辑运算表达式值为假的有()。

A.(¬A∧B)∨(C∧D∨A)B.¬(((A∧B)∨C)∧D)

C.A∧(B∨C∨D)∨DD.(A∧(D∨C))∧B

4.C++中的位运算

位运算就是指对数据进行二进制位的运算。

位运算的操作数,只能是整型或字符型数据,不能为实型数据。

C++提供的位运算有:

名称

运算符

名称

运算符

按位与

&

按位异或

^

按位或

¦

左移

<<

取反

~

右移

>>

(1)按位与运算(&)

将2个参加运算的操作数先转换成二进制数(补码),然后逐位运算,对应位都为1时,则该位的结果为1,否则为0,即:

0&0=00&1=01&0=01&1=1

例:

3&5=1

3的补码:

00000011

5的补码:

00000101

3&500000001

使用按位与运算可将一个数中的某些指定位清零如:

a:

0010110010101100

b:

0000000011111111(377)8

a&b0000000010101100

结果得到a的低8位

(2)按位或运算(¦)

运算规则:

参加运算的两个运算量之对应位,只要有一个为1,则该位的结果为1。

即:

0¦0=00¦1=11¦0=11¦1=1

例:

00110000(060)8

00001111(017)8

¦00111111(077)8

一个数与017进行按位或运算,可将该数的低4位全置为1;与0377进行按位或运算,可将该数的低8位全置为1。

(3)异或运算(^)

参加运算的两个运算量的对应位相同,则该位的结果为0。

否则为1。

即:

0^0=00^1=11^0=11^1=0

异或运算可使指定的位翻转,如:

01111010

^00001111对应原数的低4位均置为1

01110101原数的低4位被翻转

(4)取反运算(~)

对一个二进制数按位取反,即将0变为1,1变为0。

例如:

a的补码:

0000110010010011

~a1111001101101100

按位取反运算主要用途是间接构造一个数,以增强程序的可移植性。

例如,通过求~0,可以间接地构造一个各位全1的二进制数。

(5)按位左移运算(<<)

将一个操作数先转换成二进制数,然后将二进制数各位左移若干位,并在低位补若干个0,高位左移后溢出,舍弃不起作用。

按位左移n位相当于将操作数乘以2n。

例如:

7<<2按位左移表达式的值:

28

(6)按位右移运算(>>)

按位右移运算将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃;并在高位补位,补位分2种情况:

①若为无符号数,右移时左边高位移入0。

②若为有符号数,如果原来符号位为0(正数),则左边补若干0;如果原来符号位为1,左边补若干0的称为“逻辑右移”,左边补若干1的称为“算术右移”。

例:

a:

1001011111101101(113755)8

逻辑右移a>>1:

0100101111110110得(045766)8

算术右移a>>1:

1100101111110110得(145766)8

按位右移一位相当于除以2,右移n位相当于除以2n。

练习:

为了统计一个非负整数的二进制形式中1的个数,代码如下:

intCountBit(intx)

{

intret=0;

while(x)

{

ret++;

___________;

}

returnret;

}

则空格内要填入的语句是()。

A.x>>=1B.x&=x-1C.x|=x>>1D.x<<=1

提示:

一个无符号二进制数减1,相当于将该数从低位开始的第1个不是0的位及其以后的各位0变反。

如:

110101100-1=110101011。

二、排列组合

1.乘法原理

设完成一件事有m个步骤,第一个步骤有

种方法,第二个步骤有

种方法,…,第m个步骤有

种方法。

必须通过每一步骤,才算完成这件事,则完成这件事共有

种不同的方法。

例1:

若一个男人有三顶帽子和两件背心,问他可以有多少种打扮?

可以有

种打扮。

例2:

从甲地到乙地有2条路,从乙地到丙地有3条路,从丙地到丁地也有2条路。

问:

从甲地经乙、丙两地到丁地,共有多少种不同的走法?

2×3×2=12种走法

2.加法原理

设完成一件事有m种方式,第一种方式有

种方法,第二种方式有

种方法,…,第m种方式有

种方法。

无论通过哪一种方式的哪一种方法都能完成这件事,则完成这件事共有

种不同的方法。

例如,某人要从甲地到乙地去,可以乘火车,可以乘轮船,也可以坐飞机。

火车有3个班次,轮船有2班,而飞机则只有一班。

问乘坐不同班次的火车、轮船或是飞机,共有多少种不同方法可从甲地到达乙地?

答案当然是3+2+1=6种方法。

乘法原理和加法原理是两个很重要计数原理,它们不但可以直接解决不少具体问题,同时也是推导下面常用排列组合公式的基础。

练习:

下图中从A到C共有多少中走法?

3.排列

一般地,从n个不同的元素中任取出m个(m≤n)元素,按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列。

由排列的定义可以看出,两个排列相同,不仅要求这两个排列中的元素完全相同,而且各元素的先后顺序也一样,如果两个排列的元素不完全相同,或者各元素的排列顺序不完全一样,则这就是两个不同的排列。

从n个不同元素中取出m个(m≤n)元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,记作

排列数公式:

从n个不同元素取m个(1

m=n时称全排列:

例:

如下图所示,n=4,m=3时,四个元素分别为A、B、C、D,则第一个位置可以有4中选择,第一个位置一旦选定,第二个位置就只剩下3中选择了,前两个位置定了,第三个位置则只有2中选择了。

由乘法原理,排列数为

例1:

学校师生合影,共8个学生,4个老师,要求老师在学生中间,且老师互不相邻,共有多少种不同的合影方式?

解:

先排学生共有

种排法,然后把老师插入学生之间的空档,共有7个空档可插,选其中的4个空档,共有

种选法.根据乘法原理,共有的不同坐法为

种.

结论1插入法:

对于某两个元素或者几个元素要求不相邻的问题,可以用插入法。

即先排好没有限制条件的元素,然后将有限制条件的元素按要求插入排好元素的空档之中即可。

例2:

5个男生3个女生排成一排,3个女生要排在一起,有多少种不同的排法?

解:

因为女生要排在一起,所以可以将3个女生看成是一个人,与5个男生作全排列,有

种排法,其中女生内部也有

种排法,根据乘法原理,共有

种不同的排法。

结论2捆绑法:

要求某几个元素必须排在一起的问题,可以用捆绑法来解决问题.即将需要相邻的元素合并为一个元素,再与其它元素一起作排列,同时要注意合并元素内部也可以作排列。

例3:

袋中有不同年份生产的5分硬币23个,不同年份生产的1角硬币10个,如果从袋中取出2元钱,有多少种取法?

分析:

此题是一个组合问题,若是直接考虑取钱的问题的话,情况比较多,也显得比较凌乱,难以理出头绪来.但是如果根据组合数性质考虑剩余问题的话,就会很容易解决问题。

解:

把所有的硬币全部取出来,将得到

0.05×23+0.10×10=2.15元,

所以比2元多0.15元,所以剩下0.15元即剩下3个5分或1个5分与1个1角,所以共有

种取法。

结论3剩余法:

在组合问题中,有多少取法,就有多少种剩法,他们是一一对应的,因此,当求取法困难时,可转化为求剩法.

例4:

学校安排考试科目9门,语文要在数学之前考,有多少种不同的安排顺序?

分析对于任何一个排列问题,就其中的两个元素来讲的话,他们的排列顺序只有两种情况,并且在整个排列中,他们出现的机会是均等的,因此要求其中的某一种情况,能够得到全体,那么问题就可以解决了.并且也避免了问题的复杂性。

解:

不加任何限制条件,整个排法有

种,“语文安排在数学之前考”,与“数学安排在语文之前考”的排法是相等的,所以语文安排在数学之前考的排法共有

结论4对等法:

在有些题目中,它的限制条件的肯定与否定是对等的,各占全体的二分之一。

在求解中只要求出全体,就可以得到所求。

例5:

某个班级共有43位同学,从中任抽5人,正、副班长、团支部书记至少有一人在内的抽法有多少种?

分析:

此题若是直接去考虑的话,就要将问题分成好几种情况,这样解题的话,容易造成各种情况遗漏或者重复的情况.而如果从此问题相反的方面去考虑的话,不但容易理解,而且在计算中也是非常的简便.这样就可以简化计算过程。

解:

43人中任抽5人的方法有

种,正副班长,团支部书记都不在内的抽法有

种,所以正副班长,团支部书记至少有1人在内的抽法有

种。

结论5排异法:

有些问题,正面直接考虑比较复杂,而它的反面往往比较简捷,可以先求出它的反面,再从整体中排除.

4.圆周排列

从n个不同的元素中取r个沿一圆周排列,排列的方案:

N个元素的圆周排列:

5.有重复元素的排列问题:

如:

n1个a,n2个b,n3个c,排成一排,有多少种排列方法。

6.组合

一般地,从n个不同元素中取出m个(m≤n)元素组成一组不计较组内各元素的次序,叫做从n个不同元素中取出m个元素的一个组合。

由组合的定义可以看出,两个组合是否相同,只与这两个组合中的元素有关,而与取到这些元素的先后顺序无关.只有当两个组合中的元素不完全相同时,它们才是不同的组合。

从n个不同元素中取出m个元素(m≤n)的所有组合的个数,叫做从n个不同元素中取出m个不同元素的组合数.记作

组合数公式:

从n个不同元素取m个(1m

求从n个不同元素中取出m个元素排成一列的排列数

可以分两步求得:

第一步:

从n个不同元素中取出m个元素组成一组,共有

种方法;

第二步:

将每一个组合中的m个元素进行全排列,共有

种排法.

由乘法原理得到:

因此,

7.重复元素的组合问题

从n种不同的元素中取r个元素的组合,允许有重复元素的组合:

典型模型:

r个相同的小球,放到n个不同的盒子里,所有的放置方法。

例1邮局发行10种新邮票,有一个集邮爱好者购买了15张邮票,他有多少种买法?

解:

买邮票的任何一种方式都可以看做是从10个元素中取出15个元素的组合,因此买法种数为

三、集合及其运算

集合是由确定的、互相区别的一些对象组成的总体。

集合的每个对象称为元素。

如初一(11)班同学组成一个集合,里面的每个同学称为元素。

集合中的元素是确定的、互异的,又是无序的。

不含任何元素的集合叫做空集,记作

集合可分为有限集与无限集。

元素与集合间的关系运算:

属于符号记作“∈”;不属于,符号记作“

”。

对于两个集合A与B,如果集合A的任何一个元素都是集合B的元素,就说集合B包含集合A,记作A

B(读作A包含于B),这时也说集合A是集合B的子集。

也可以记作B

A(读作B包含A)。

①子集有传递性,若A

B,B

C,则有A

C.

②空集

是任何集合的子集,即

A

③真子集:

若A

B,且至少有一个元素b∈B,而b

A,称A是B的真子集.记作A

B。

④若A

B且B

A,那么A=B

⑤含n(n∈N*)个元素的集合A的所有子集的个数是:

2的n次方个。

常用的集合表示法:

列举法:

数的集合{1,3,5,7,9,11,13}

描述法:

小于14大于0的奇数组成的集合、初三

(1)班的全体同学组成的集合。

集合的运算包括并(∪)、交(∩)、差(-)、补(~或ˉ)几种。

例如,设全集I={0,1,2,3,4,5,6,7,8,9},A={2,4},B={4,5,6,7},C={0,8,9},D={1,2,3},则

A∪B={2,4,5,6,7},A∪B∪C∪D={0,1,2,3,4,5,6,7,8,9}=I

A∩B={4},A-B={2},B-A={5,6,7},C-A={0,8,9},~A={0,1,3,5,6,7,8,9}

1.集合问题的图示法

集合问题可由文氏图来描述,文氏图由矩形、圆形及内部的点组成,其中矩形及其内部的点表示全集的所有元素;矩形内的圆(或其它闭曲线)表示不同的集合;圆(或闭曲线)内部的点则表示相应集合的元素。

以下是文氏图描述的集合的四种运算。

1.容斥原理

在计数时,为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是,先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。

对有限集合S,用S表示S的元素个数容斥原理的第一形式:

设A,B是有限集合,则

|A∪B|=|A|+|B|-|A∩B|

容斥原理的第二形式:

设A、B、C是有限集合,则

|A∪B∪C|=|A|+|B|+|c|-|A∩B|-|B∩C|-|A∩C|+|A∩B∩C|

例1:

某单位的100名员工进行调查,结果发现他们喜欢看球赛和电影、戏剧。

其中58人喜欢看球赛,38人喜欢看戏剧,52人喜欢看电影,既喜欢看球赛又喜欢看戏剧的有18人,既喜欢看电影又喜欢看戏剧的有16人,三种都喜欢看的有12人,则只喜欢看电影的有:

A、22人B、28人C、30人D、36人

解:

设同时只喜欢电影和球赛的人数为x,由已知可知,只喜欢喜剧和球赛的有6人,只喜欢电影和戏剧的4人,如下图所示。

只喜欢电影的人数为52-(x+12+4)=36-x

只喜欢球赛的人数为58-(x+6+12)=40-x

只喜欢喜剧的人数为38-(4+12+6)=16

如下图所示,以上三个集合的总人数36-x+40-x+16再加上中间四部分的总人数4+12+6+x为100人,即

36-x+40-x+16+4+12+6+x=100,可解得x=14,因此只喜欢看电影的人数为36-14=22人。

选A。

例2:

有47本书,有27本是小说,32本是红皮的,6本既不是红皮的,也不是小说。

问有多少本红皮小说?

解:

设小说集为A,红色封面书集合为B,则|A∪B|=47-6=41,即这41本有可能是小说或是红色封面。

红色封面的非小说数量为|B-A|=|A∪B|-|A|=41-27=14本,所以后色封面的小说|A∩B|=32-14=18本。

例3:

外语学校有英语、法语、日语老师总共27人,其中只能教英语的有8人,只能教日语的有6人,能教英语、日语的有5人,能教法语、日语的有3人,能教英、法语的有4人,三种都能教的有2人,则只能教法语的有:

A、4人B、5人C、6人D、7人

练习:

1.设全集I={a,b,c,d,e,f,g,h},集合B∪A={a,b,c,d,e,f},C∩A={c,d,e},A∩~B={a,d},那么集合C∩B∩A为()。

A.{c,e}B.{d,e}C.{e}D.{c,d,e}E.{d,f}

2.设含有10个元素的集合的全部子集数为S,其中由7个元素组成的子集数为T,则T/S的值为()。

A、5/32B、15/128C、1/8D、21/128

四、数论

1.整除与约数

一个整数可以被另一个整数整除是数论中的一个关键概念。

符号d|a(读作“d整除a”)的含义是,存在摸个数k,使得a=kd。

任何整数均可整除0。

如果a>0且d|a,那么|d|<=|a|。

如果d|a,则称a是d的倍数。

如果d|a且d>=0,则称d是a的约数。

注意,d|ad|a当且仅当−d|a−d|a,即a的任何约数的负数同样可以整除a。

因此,不失一般性,可规定约数为非负数。

非零整数a的约数应至少为1,且不会大于|a|。

例如,24的约数是1,2,3,4,6,8,12和24。

任何正整数a均可被平凡约数1和其自身a所整除。

整数a的非平凡约数称为a的因子。

例如,20的因子是2,4,5和10。

2.素数与合数

如果一个数a>1且只能被平凡约数1和它自身所除,则这个数是素数。

素数游戏的特殊的性质。

它在数论中也扮演着十分重要的角色。

前20个素数按序排列如下:

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71

如果一个整数a>1且不是素数,则称之为合数。

例如,39是一个合数,因为3|39。

称整数1是基本单位,并且它既不是素数也不是合数。

同样,整数0和所有负整数既不是素数也不是合数。

3.除法定理、余数和等模

给定一个整数n,我们可以将整数集划分成n的倍数和非n倍数两部分。

通过计算非n的倍数除以n的余数可以对非n倍数进行有效分类。

而许多数论理论正是通过这种分类来改进对n的北方和非n倍数的划分。

下面的定理给出该改进的理论基础。

这里,我们忽略了其证明。

定理1(除法定理):

对于任何整数a和任何正整数n,存在唯一整数q和r,满足0<=r

称q=⌊a/n为除法的商,r=amodn为除法的余数。

n|a当且仅当amodn=0。

根据整数模n的余数,我们可以将所有整数划分成n个等价类。

包括整数a的模n等价类为:

[a]n=a+kn:

k∈Z

例如,[3]7={…,-11,-4,3,10,17,…},这个集合同时也可以表示为[-4]7和[10]7。

a∈[b]n和a≡b(modn)是等价的。

所有这类等价类的集合是Zn=[a]n:

0<=a<=n−1,即可以用每个等价类最小的非负元素来表示该等价类。

例如,上面的[3]7。

但是,也可以用等价类中的任意数表示该等价类,例如,在我们说-1是Zn的一个元素时,实际上指的是[n−1]n,因为-1≡n-1(modn)。

4.公约数与最大公约数

如果d是a的约数并且d也是b的约数,则d是a与b的公约数。

例如,30的约数包括1、2、3、5、6、10、15、30,24的约数包括1、2、3、4、6、8、12、24,因此24与30的公约数为1、2、3和6。

需要注意的是,1是任意两个整数的公约数。

公约数的一条重要的性质是:

d|a且d|b蕴含着d|(a+b)且d|(a−b)

更一般的,对于任意整数x和y,有

d|a且d|b蕴含着d|(ax+by)

并且,如果a|b,那么|a|<=|b|,或者b=0,这更说明

a|b且b|a蕴含着a=±b

两个不同时为0的整数a与b的公约数中最大的称其为最大公约数,记作gcd(a,b)。

例如,gcd(24,30)=6,gcd(5,7)=1,gcd(0,9)=0。

如果a与b不同时为0,则gcd(a,b)是一个在1与min(|a|,|b|)之间的整数。

定义gcd(0,0)=0,该定义是使gcd函数的基本性质普遍成立所必不可少的。

下列是gcd函数的基本性质:

(1)gcd(a,b)=gcd(b,a)

(2)gcd(a,b)=gcd(−a,b)

(3)gcd(a,b)=gcd(|a|,|b|)

(4)gcd(a,0)=|a|

(5)gcd(a,ka)=|a|对任意k∈Z

下面的定理给出了gcd(a,b)的另外一个有用特征。

定理2:

如果任意整数a和b都不为0,则gcd(a,b)是a与b的线性组合集ax+by:

x,y∈Z中的最小正元素。

推论1:

对任意整数a与b,如果d|a且d|b,则d|gcd(a,b)。

证明:

根据定理2,gcd(a,b)是a与b的一个线性组合,所以推论成立。

推论2:

对所有整数a和b以及任意非负整数n,有gcd(an,bn)=n∗gcd(a,b)

证明:

如果n=0,该推论显然成立。

如果n>0,则gcd(an,bn)是集合{anx+bny:

x,y∈Z∈Z}中最小正元素的n倍。

推论3:

对于任意正整数n、a和b,如果n|ab且gcd(a,n)=1,则n|b。

证明由同学自己完成。

求最大公约数的欧几里德算法:

原理:

如果用一条线段表示最大公约数,由于两个数字都是最大公约数的倍数,因此可用多条线段来表示这两个数:

我们发现,大的数除以小的数得到的余数,仍然

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1