搜档网
当前位置:搜档网 › 第2讲加法原理

第2讲加法原理

第2讲加法原理
第2讲加法原理

第二讲加法原理

生活中常有这样的情况,就是在做一件事时,有几类不同的方法,而每一类方法中,又有几种可能的做法.那么,考虑完成这件事所有可能的做法,就要用我们将讨论的加法原理来解决.

例如某人从北京到天津,他可以乘火车也可以乘长途汽车,现在知道每天有五次火车从北京到天津,有4趟长途汽车从北京到天津.那么他在一天中去天津能有多少种不同的走法?

分析这个问题发现,此人去天津要么乘火车,要么乘长途汽车,有这两大类走法,如果乘火车,有5种走法,如果乘长途汽车,有4种走法.上面的每一种走法都可以从北京到天津,故共有5+4=9种不同的走法.

在上面的问题中,完成一件事有两大类不同的方法.在具体做的时候,只要采用一类中的一种方法就可以完成.并且两大类方法是互无影响的,那么完成这件事的全部做法数就是用第一类的方法数加上第二类的方法数.

一般地,如果完成一件事有k类方法,第一类方法中有m1种不同做法,第二类方法中有m2种不同做法,…,第k类方法中有mk种不同的做法,则完成这件事共有

N=m1+m2+…+mk

种不同的方法.

这就是加法原理.

例1学校组织读书活动,要求每个同学读一本书.小明到图书馆借书时,图书馆有不同的外语书150本,不同的科技书200本,不同的小说100本.那么,小明借一本书可以有多少种不同的选法?

分析在这个问题中,小明选一本书有三类方法.即要么选外语书,要么选科技书,要么选小说.所以,是应用加法原理的问题.

解:小明借一本书共有:

150+200+100=450(种)

不同的选法.

例2一个口袋内装有3个小球,另一个口袋内装有8个小球,所有这些小球颜色各不相同.

问:①从两个口袋内任取一个小球,有多少种不同的取法?

②从两个口袋内各取一个小球,有多少种不同的取法?

分析①中,从两个口袋中只需取一个小球,则这个小球要么从第一个口袋中取,要么从第二个口袋中取,共有两大类方法.所以是加法原理的问题.

②中,要从两个口袋中各取一个小球,则可看成先从第一个口袋中取一个,再从第二个口袋中取一个,分两步完成,是乘法原理的问题.

解:①从两个口袋中任取一个小球共有

3+8=11(种),

不同的取法.

②从两个口袋中各取一个小球共有

3×8=24(种)

不同的取法.

补充说明:由本题应注意加法原理和乘法原理的区别及使用范围的不同,乘法原理中,做完一件事要分成若干个步骤,一步接一步地去做才能完成这件事;加法原理中,做完一件事可以有几类方法,每一类方法中的一种做法都可以完成这件事.

事实上,往往有许多事情是有几大类方法来做的,而每一类方法又要由几步来完成,这就要熟悉加法原理和乘法原理的内容,综合使用这两个原理.

例3如右图,从甲地到乙地有4条路可走,从乙地到丙地有2条路可走,从甲地到丙地有3条路可走.那么,从甲地到丙地共有多少种走法?

分析从甲地到丙地共有两大类不同的走法.

第一类,由甲地途经乙地到丙地.这时,要分两步走,第一步从甲地到乙地,有4种走法;第二步从乙地到丙地共2种走法,所以由乘法原理,这时共有4×2=8种不同的走法.

第二类,由甲地直接到丙地,由条件知,有3种不同的走法.

解:由加法原理知,由甲地到丙地共有:

4×2+3=11(种)

不同的走法.

例4如下页图,一只小甲虫要从A点出发沿着线段爬到B点,要求任何点和线段不可重复经过.问:这只甲虫有多少种不同的走法?

分析从A点到B点有两类走法,一类是从A点先经过C点到B点,一类是从A点先经过D点到B点.两类中的每一种具体走法都要分两步完成,所以每一类中,都要用乘法原理,而最后计算从A到B的全部走法时,只要用加法原理求和即可.

解:从A点先经过C到B点共有:

1×3=3(种)

不同的走法.

从A点先经过D到B点共有:

2×3=6(种)

不同的走法.

所以,从A点到B点共有:

3+6=9(种)

不同的走法.

例5有两个相同的正方体,每个正方体的六个面上分别标有数字1、2、3、4、5、6.将两个正方体放到桌面上,向上的一面数字之和为偶数的有多少种情形?

分析要使两个数字之和为偶数,只要这两个数字的奇偶性相同,即这两个数字要么同为奇数,要么同为偶数,所以,要分两大类来考虑.

第一类,两个数字同为奇数.由于放两个正方体可认为是一个一个地放.放第一个正方体时,出现奇数有三种可能,即1,3,5;放第二个正方体,出现奇数也有三种可能,由乘法原理,这时共有3×3=9种不同的情形.

第二类,两个数字同为偶数,类似第一类的讨论方法,也有3×3=9种不同情形.

最后再由加法原理即可求解.

解:两个正方体向上的一面同为奇数共有

3×3=9(种)

不同的情形;

两个正方体向上的一面同为偶数共有

3×3=9(种)

不同的情形.

所以,两个正方体向上的一面数字之和为偶数的共有

3×3+3×3=18(种)

不同的情形.

例6从1到500的所有自然数中,不含有数字4的自然数有多少个?

分析从1到500的所有自然数可分为三大类,即一位数,两位数,三位数.

一位数中,不含4的有8个,它们是1、2、3、5、6、7、8、9;

两位数中,不含4的可以这样考虑:十位上,不含4的有1、2、3、5、6、7、8、9这八种情况.个位上,不含4的有0、1、2、3、5、6、7、8、9这九种情况,要确定一个两位数,可以先取十位数,再取个位数,应用乘法原理,这时共有8×9=72个数不含4.

三位数中,小于500并且不含数字4的可以这样考虑:百位上,不含4的有1、2、3、这三种情况.十位上,不含4的有0、1、2、3、5、6、7、8、9这九种情况,个位上,不含4的也有九种情况.要确定一个三位数,可以先取百位数,再取十位数,最后取个位数,应用乘法原理,这时共有3×9×9=243个三位数.由于500也是一个不含4的三位数.所以,1~500中,不含4的三位数共有3×9×9+1=244个.

解:在1~500中,不含4的一位数有8个;不含4的两位数有8×9=72个;不含4的三位数有3×9×9+1=244个,由加法原理,在1~500中,共有:

8+8×9+3×9×9+1=324(个)

不含4的自然数.

补充说明:这道题也可以这样想:把一位数看成是前面有两个0的三位数,如:把1看成是001.把两位数看成是前面有一个0的三位数.如:把11看成011.那么所有的从1到500的自然数都可以看成是“三位数”,除去500外,考虑不含有4的这样的“三位数”.百位上,有0、1、2、3这四种选法;十位上,有0、1、2、3、5、6、7、8、9这九种选法;个位上,也有九种选法.所以,除500外,有4×9×9=324个不含4的“三位数”.注意到,这里面有一个数是000,应该去掉.而500还没有算进去,应该加进去.所以,从1到500中,不含4的自然数仍有324个.

这是一种特殊的思考问题的方法,注意到当我们对“三位数”重新给予规定之后,问题很简捷地得到解决.

例7如下页左图,要从A点沿线段走到B,要求每一步都是向右、向上或者向斜上方.问有多少种不同的走法?

分析观察下页左图,注意到,从A到B要一直向右、向上,那么,经过下页右图中C、D、E、F四点中的某一点的路线一定不再经过其他的点.也就是说从A到B点的路线共分为四类,它们是分别经过C、D、E、F的路线.

第一类,经过C的路线,分为两步,从A到C再从C到B,从A到C 有2条路可走,从C到B也有两条路可走,由乘法原理,从A经C到B

共有2×2=4条不同的路线.

第二类,经过D点的路线,分为两步,从A到D有4条路,从D到B 有4条路,由乘法原理,从A经D到B共有4×4=16种不同的走法.

第三类,经过E点的路线,分为两步,从A到E再从E到B,观察发现.各有一条路.所以,从A经E到B共有1种走法.

第四类,经过F点的路线,从A经F到B只有一种走法.

最后由加法原理即可求解.

解:如上右图,从A到B共有下面的走法:

从A经C到B共有2×2=4种走法;

从A经D到B共有4×4=16种走法;

从A经E到B共有1种走法;

从A经F到B共有1种走法.

所以,从A到B共有:

4+16+1+1=22

种不同的走法.

习题二

1.如右图,从甲地到乙地有三条路,从乙地到丙地有三条路,从甲地到丁地有两条路,从丁地到丙地有四条路,问:从甲地到丙地共有多少种走法?

2.书架上有6本不同的画报和7本不同的书,从中最多拿两本(不能不拿),有多少种不同的拿法?

3.如下图中,沿线段从点A走最短的路线到B,各有多少种走法?

4.在1~1000的自然数中,一共有多少个数字0?

5.在1~500的自然数中,不含数字0和1的数有多少个?

6.十把钥匙开十把锁,但不知道哪把钥匙开哪把锁,问:最多试开多少次,就能把锁和钥匙配起来?

习题二的解答在这里

1.3×3+2×4=17(种).

2.6+7+15+21+6×7=91(种).

提示:拿两本的情况分为2本画报或2本书或一本画报一本书.

3.(1)6;(2)10;(3)20;(4)35.

4.9+180+3=192(个).

5.8+8×8+3×8×8=264(个).

6.9+8+7+6+5+4+3+2+1=45(次).

编译原理(清华大学第2版)课后习题答案

第三章 N=>D=> {0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD L={a |a(0|1|3..|9)n且 n>=1} (0|1|3..|9)n且 n>=1 {ab,} a n b n n>=1 第6题. (1) <表达式> => <项> => <因子> => i (2) <表达式> => <项> => <因子> => (<表达式>) => (<项>) => (<因子>)=>(i) (3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i (4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项> => <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>) => i+(<因子>+<因子>) => i+(i+i) (6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i 第7题

第9题 语法树 s s s* s s+a a a 推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F 语法树: E +T * 短语: T*F E+T*F 直接短语: T*F 句柄: T*F 12.

短语: 直接短语: 句柄: 13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABS S → Aa S →ε A → a B → b (3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa, 直接短语: a1 , b1 , b2, a2 , , 句柄:a1 14 (1) S → AB A → aAb | ε B → aBb | ε (2) S → 1S0 S → A A → 0A1 |ε 第四章 1. 1. 构造下列正规式相应的DFA (1)1(0|1)*101 NFA (2) 1(1010*|1(010)*1)*0 NFA

苏教版四年级下册同步奥数培优 第二讲 认识多位数(排列组合一)

苏教版四年级下册同步奥数培优第二讲认识多位数(排列组合一) 【知识概述】: 生活中常有这样的情况,就是在做一件事时,有几类不同的方法,而每一类方法中,又有几种可能的做法,那么考虑完成这件事所有可能的做法,就要用加法原理的知识去解决。 同样的,日常生活中常常会遇到这样一些间题:就是做一件事情时,要分几步才能完成,而在完成每一步时,又有儿种不同的方法,要知道完成这件事一共有多少种方法,就要用到乘法原理的知识去解决。 把两种方法灵活地运用,考虑顺序关系,称为排列问题,只考虑选出来,不需要按一定的排列顺序去思考,称为组合,今天我们就来研究相关知识。 例1:从1到99的所有自然数中,不含有数字4的自然数有多少个? 练习一: 1.1~100的自然数中,一共有多少个数字0? 2.从1到99的所有自然数中,含有数字5的自然数有多少个? 3.从1到99的所有自然数中,不含有数字2的自然数有多少个? 例2:由数字0,1,2,3组成三位数,问:可组成多少个没有重复数字的三位数。 练习二: 1.用0,3,4,6可组成多少个没有重复数字的三位数? 2.用1,3,5,2可组成多少个没有重复数字的三位数?

3.用1,2,3,4可组成多少个没有重复数字的三位数并且是双数? 例3:用1,2,3,4,5可组成多少个没有重复数字的三位数? 练习三: 1.用数字3,4,5,6,7可组成多少个没有重复数字的三位数? 2.用数字2,3,4,7,6可组成多少个个位上数字是6的没有重复数字的三位数? 3.从黄、红、绿、蓝、紫、橙色这6种不同颜色的小信号旗中,每次取3种不同颜色作为一种信号,共有多少种不同的信号? 例4:从1,3,4,6,8,9这六个数中,任意选取两个数作乘积,可以得到多少种不同的结果? 练习四: 1.从1,2,4,5,6,7这六个数中,任意选取两个数作乘积,可以得到多少种不同的结果? 2.数字和是6的两位数总共有多少个? 3.在两位整数中,十位数字小于个位数字的共有多少个?

蒋立源 编译原理第三版第二章 习题与答案(修改后)

第2章习题 2-1 设有字母表A1 ={a,b,c,…,z},A2 ={0,1,…,9},试回答下列问题: (1) 字母表A1上长度为2的符号串有多少个? (2) 集合A1A2含有多少个元素? (3) 列出集合A1(A1∪A2)*中的全部长度不大于3的符号串。 2-2 试分别构造产生下列语言的文法: (1){a n b n|n≥0}; (2){a n b m c p|n,m,p≥0}; (3){a n#b n|n≥0}∪{c n#d n|n≥0}; (4){w#w r# | w∈{0,1}*,w r是w的逆序排列 }; (5)任何不是以0打头的所有奇整数所组成的集合; (6)所有由偶数个0和偶数个1所组成的符号串的集合。 2-3 试描述由下列文法所产生的语言的特点: (1)S→10S0S→aA A→bA A→a (2)S→SS S→1A0A→1A0A→ε (3)S→1A S→B0A→1A A→C B→B0B→C C→1C0C→ε (4)S→aSS S→a 2-4 试证明文法 S→AB|DC A→aA|a B→bBc|bc C→cC|c D→aDb|ab 为二义性文法。 2-5 对于下列的文法 S→AB|c A→bA|a B→aSb|c 试给出句子bbaacb的最右推导,并指出各步直接推导所得句型的句柄;指出句子的全部短语。

2-6 化简下列各个文法 (1) S→aABS|bCACd A→bAB|cSA|cCC B→bAB|cSB C→cS|c (2) S→aAB|E A→dDA|e B→bE|f C→c AB|dSD|a D→eA E→fA|g (3) S→ac|bA A→c BC B→SA C→bC|d 2-7 消除下列文法中的ε-产生式 (1) S→aAS|b A→cS|ε (2) S→aAA A→bAc|dAe|ε 2-8 消除下列文法中的无用产生式和单产生式 (1) S→aB|BC A→aA|c|aDb B→DB|C C→b D→B (2) S→SA|SB|A A→B|(S)|( ) B→[S]|[ ] (3) E→E+T|T T→T*F|F F→P↑F|P P→(E)|i 第2章习题答案 2-1 答: (1) 26*26=676 (2) 26*10=260 (3) {a,b,c,...,z, a0,a1,...,a9, aa,...,az,...,zz, a00,a01,...,zzz},共有26+26*36+26*36*36=34658个 2-2 解: (1) 对应文法为G(S)=({S},{a,b},{ S→ε| aSb },S) (2) 对应文法为G(S)=({S,X,Y},{a,b,c},{S→aS|X,X→bX|Y,Y→cY|ε },S) (3)对应文法为G(S)=({S,X,Y},{a,b,c,d,#}, {S→X,S→Y,X→aXb|#, Y→cYd|# },S)

编译原理_第三版_课后答案

编译 原理 课后题答案 第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T i i F i i i ?+?+?+?+?+?+?+?+??????+?+?+?+?+?+********()*()*()*()*()*()*() 最右推导:

E E T E T F E T i E F i E i i T i i F i i i i i E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/******************************** E E F T E + T F F T +i i i E E F T E -T F F T -i i i E E F T +T F F T i i i *i+i+i i-i-i i+i*i *****************/ P36-9 句子iiiei 有两个语法树: S iSeS iSei iiSei iiiei S iS iiSeS iiSei iiiei ???????? P36-10 /************** ) (|)(|S T T TS S →→ ***************/ P36-11 /*************** L1: ε ||cC C ab aAb A AC S →→→ L2:

四年级数学第二讲加法原理 (5)

四年级数学第二讲:加法原理 基础班 1.南京去上海可以乘火车、乘飞机、乘汽车和乘轮船。如果每天有20班火车、6班飞机、8班汽车和4班轮船,那么共有多少种不同的走法? 2.光明小学四、五、六年级共订300份报纸,每个年级至少订99份报纸。问:共有多少种不同的订法? 3.将10颗相同的珠子分成三份,共有多少种不同的分法? 4.在所有的两位数中,两位数码之和是偶数的共有多少个? 5.用1,2,3这三种数码组成四位数,在可能组成的四位数中,至少有连续两位是2的有多少个? 6.下图中每个小方格的边长都是1。有一只小虫从O点出发,沿图中格线爬行,如果它爬行的总长度是3,那么它最终停在直线AB上的不同爬行路线有多少条? 7.如下图,从甲地到乙地有三条路,从乙地到丙地有三条路,从甲地到丁地有两条路,从丁地到丙地有四条路,问:从甲地到丙地共有多少种走法? 8.书架上有6本不同的画报和7本不同的书,从中最多拿两本(不能不拿),有多少种不同的拿法? 9.如下图中,沿线段从点A走最短的路线到B,各有多少种走法? 10.在1~1000的自然数中,一共有多少个数字0? 11.在1~500的自然数中,不含数字0和1的数有多少个? 12.十把钥匙开十把锁,但不知道哪把钥匙开哪把锁,问:最多试开多少次,就能把锁和钥匙配起来?

答案 1.38种。 2.10种。 提示:没有年级订99份时,只有三个年级各订100份一种订法;只有一个年级订99份时,另外两个年级分别订100份和101份,有6种订法;有两个年级订99份时,另外一个年级订102份,有3种订法。 3.8种。 4.45个。提示:两个数码都是奇数的有5×5(个),两个数码都是偶数的有4×5(个)。 5.21个。 提示:与例5类似,连续四位都是2的只有1种,恰有连续三位是2的有4种,恰有连续两位是2的有16种。 6.10条。 提示:第一步向下有5条,第一步向上有1条,第一步向左或向右各有2条。 7.3×3+2×4=17(种). 8.6+7+15+21+6×7=91(种). 提示:拿两本的情况分为2本画报或2本书或一本画报一本书. 9.(1)6;(2)10;(3)20;(4)35. 10.9+180+3=192(个). 11.8+8×8+3×8×8=264(个). 12.9+8+7+6+5+4+3+2+1=45(次). 我们通常解题,总是要先列出算式,然后求解。可是对有些题目来说,这样做不仅麻烦,而且有时根本就列不出算式。这一讲我们介绍利用加法原理在“图上作业”的解题方法。 提高班 1. 用五种颜色给右图的五个区域染色,每个区域染一种颜色,相邻的区域染不同的颜色。问:共有多少种不同的染色方法? 11.小明要登15级台阶,每步登1级或2级台阶,共有多少种不同登法? 12.小明要登20级台阶,每步登2级或3级台阶,共有多少种不同登法?

编译原理第二章-课后题答案

第二章 3.何谓“标志符”,何谓“名字”,两者的区别是什么? 答:标志符是一个没有意义的字符序列,而名字却有明确的意义和属性。 4.令+、*和↑代表加、乘和乘幂,按如下的非标准优先级和结合性质的约定,计算1+1*2↑2*1↑2的值。 (1)优先顺序(从高到低)为+、*和↑,同级优先采用左结合。 (2)优先顺序为↑、+、*,同级优先采用右结合。 答:(1)1+1*2↑2*1↑2=2*2↑2*1↑2=4↑2*1↑2=4↑2↑2=16↑2=256 (2)1+1*2↑2*1↑2=1+1*2↑2*1=1+1*4*1=2*4*1=2*4=8 6.令文法G6为 N-〉D|ND D-〉0|1|2|3|4|5|6|7|8|9 (1)G6的语言L(G6)是什么? (2)给出句子0127、34、568的最左推导和最右推导。 (1)由0到9的数字所组成的长度至少为1的字符串。即:L(G6)={d n|n≧1,d∈{0,1,…,9}} 答: (2)0127的最左推导:N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127 0127的最右推导:N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127 (其他略) 7.写一个文法,使其语言是奇数集,且每个奇数不以0开头。 答:G(S):S->+N|-N N->ABC|C C->1|3|5|7|9 A->C|2|4|6|8 B->BB|0|A|ε [注]:可以有其他答案。 [常见的错误]:N->2N+1 原因在于没有理解形式语言的表示法,而使用了数学表达式。 8.令文法为 E->T|E+T|E-T T->F|T*F|T/F F->(E)|i (1)给出i+i*i、i*(i+i)的最左推导和最右推导。 (2)给出i+i+i、i+i*i和i-i-i的语法树,并给出短语,简单短语和句柄。 答:(1) i*(i+i)的最左推导: E=>T=>T*F=>F*F=>i*F=>i*(E)=>i*(E+T)=>i*(T+T)=>i*(F+T)=>i*(i+T)=>i*(i+F)=> i*(i+i) i*(i+i)的最右推导: E=>T=>T*F=>T*(E) =>T*(E+T)=>T*(E+F)=>T*(E+i)=>T*(T+i)=>T*(F+i)=> T*(i+i)=> F*(i+i) => i*(i+i) (其他略) [注]:要牢记每一步都是对最左(右)的一个非终结符号进行一步推导。 (2) i+i+i的语法树:

寒假六年级奥数零基础班讲义第二讲计数综合

计数综合 第一板块:加乘原理综合运用 一、加法原理 一般地,如果完成一件事有k类方法,第一类方法中有m1种不同做法,第二类方法中有m2种不同做法,…,第k类方法中有m k种不同的做法,则完成这件事共有N=m1+m2+…+m k种不同的方法。这就是加法原理。 加法原理运用的范围:完成一件事的方法分成几类,每一类中的任何一种方法都能完成任务,这样的问题可以使用加法原理解决。我们可以简记为:“加法分类,类类独立”。 分类时,首先要根据问题的特点确定一个适合于它的分类标准,然后在这个标准下进行分类;其次,分类时要注意满足两条基本原则: ①完成这件事的任何一种方法必须属于某一类; ②分别属于不同两类的两种方法是不同的方法。 只有满足这两条基本原则,才可以保证分类计数原理计算正确。 二、乘法原理 一般地,如果完成一件事需要n个步骤,其中,做第一步有m1种不同的方法,做第二步有m2种不同的方法,…,做第n步有m n种不同的方法,则完成这件事一共有N=m1×m2×…×m n种不同的方法。这就是乘法原理。 乘法原理运用的范围:完成一件事的方法分成几步,每一步只能完成任务的一部分,且缺一不可。这样的问题可以使用加法原理解决。我们可以简记为:“乘法分步,步步相关”。 在很多题目中,加法原理和乘法原理都不是单独出现的,这就需要我们能够熟练的运用好这两大原理,综合分析,正确作出分类和分步。 如下图,从甲地到乙地有2条路,从乙地到丙地有4条路,从甲地到丁地有3条路可走,从丁地到丙地也有3条路,请问从甲地到丙地共有多少种不同走法?

某信号兵用红,黄,蓝,绿四面旗中的三面从上到下挂在旗杆上的三个位置表示信号。每次可挂一面,二面或三面,并且不同的顺序,不同的位置表示不同的信号。一共可以表示出多少种不同的信号? 红、黄、蓝、白四种颜色不同的小旗,各有2,2,3,3面,任意取出三面按顺序排成一行,表示一种信号,问:共可以表示多少种不同的信号?如果白旗不能打头又有多少种? 某件工作需要钳工2人和电工2人共同完成。现有钳工3人、电工3人,另有1人钳工、电工都会。从7人中挑选4人完成这项工作,共有多少种方法? 这是一个棋盘,将一个白子和一个黑子放在棋盘线交叉点上,但不能在同一条棋盘线上。问:共有多少种不同的放法? 一楼梯共10级,规定每步只能跨上一级或两级,要登上第10级,共有多少种不同走法?

编译原理 第二章习题答案

第2章习题解答 1.文法G[S]为: S->Ac|aB A->ab B->bc 写出L(G[S])的全部元素。 [答案] S=>Ac=>abc 或S=>aB=>abc 所以L(G[S])={abc} ============================================== 2. 文法G[N]为: N->D|ND D->0|1|2|3|4|5|6|7|8|9 G[N]的语言是什么? [答案] G[N]的语言是V+。V={0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD.... =>NDDDD...D=>D......D =============================================== 3.已知文法G[S]: S→dAB A→aA|a B→ε|bB 问:相应的正规式是什么?G[S]能否改写成为等价的正规文法?[答案] 正规式是daa*b*;

相应的正规文法为(由自动机化简来): G[S]:S→dA A→a|aB B→aB|a|b|bC C→bC|b 也可为(观察得来):G[S]:S→dA A→a|aA|aB B→bB|ε ===================================================================== ========== 4.已知文法G[Z]: Z->aZb|ab 写出L(G[Z])的全部元素。 [答案] Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbb L(G[Z])={a n b n|n>=1} ===================================================================== ========= 5.给出语言{a n b n c m|n>=1,m>=0}的上下文无关文法。 [分析] 本题难度不大,主要是考上下文无关文法的基本概念。上下文无关文法的基本定义是:A->β,A∈Vn,β∈(Vn∪Vt)*,注意关键问题是保证a n b n的成立,即“a与b的个数要相等”,为此,可以用一条形如A->aAb|ab的产生式即可解决。 [答案] 构造上下文无关文法如下: S->AB|A A->aAb|ab B->Bc|c [扩展]

编译原理课后习题答案-清华大学-第二版

第1章引论 第1题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1) 编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2) 源程序:源语言编写的程序称为源程序。 (3) 目标程序:目标语言书写的程序称为目标程序。 (4) 编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5) 后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6) 遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第2题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。 答案: 一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。

目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。 表格管理程序:负责建立、填写和查找等一系列表格工作。表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。可以说整个编译过程就是造表、查表的工作过程。需要指出的是,这里的“表格管理程序”并不意味着它就是一个独立的表格管理模块,而是指编译程序具有的表格管理功能。 错误处理程序:处理和校正源程序中存在的词法、语法和语义错误。当编译程序发现源程序中的错误时,错误处理程序负责报告出错的位置和错误性质等信息,同时对发现的错误进行适当的校正(修复),目的是使编译程序能够继续向下进行分析和处理。 注意:如果问编译程序有哪些主要构成成分,只要回答六部分就可以。如果搞不清楚,就回答八部分。 第3题 何谓翻译程序、编译程序和解释程序?它们三者之间有何种关系? 答案: 翻译程序是指将用某种语言编写的程序转换成另一种语言形式的程序的程序,如编译程序和汇编程序等。 编译程序是把用高级语言编写的源程序转换(加工)成与之等价的另一种用低级语言编写的目标程序的翻译程序。 解释程序是解释、执行高级语言源程序的程序。解释方式一般分为两种:一种方式是,源程序功能的实现完全由解释程序承担和完成,即每读出源程序的一条语句的第一个单词,则依据这个单词把控制转移到实现这条语句功能的程序部分,该部分负责完成这条语句的功

1.目录 五年级奥数教材智能思维训练教材

五年级奥数智能思维训练教材 目录 ◆第一讲消去问题(一) (2) ◆第二讲消去问题(二) (7) ◆第三讲一般应用题 (12) ◆第四讲盈亏问题(一) (16) ◆第五讲盈亏问题(二) (17) ◆第六讲流水问题 (19) ◆第七讲等差数列 (23) ◆第八讲找规律 (26) ◆能力测试(一) (26) ◆第九讲加法原理 (28) ◆第十讲乘法法原理 (31) ◆第十一讲周期问题(一) (35) ◆第十二讲周期问题(二) (37) ◆第十三讲巧算(一) (39) ◆第十四讲巧算(二) (40) ◆第十五讲数阵问题(一) (45) ◆第十五讲数阵问题(二) (45) ◆能力测试(二) (63) ◆第16讲平面图形的计算(一)…………… ◆第17讲平面图形的计算(二)…………… ◆第18讲列方程解应用题(一)………………

◆第19讲列方程解应用题(二)……………… ◆第20讲行程问题(一)………………………… ◆第21讲行程问题(二)………………………… ◆第22讲行程问题(三)………………… ◆第23讲行程问题(四)…………………… ◆阶段测试(一)…………………… ◆第24讲平均数问题(一)……………………… ◆第25讲平均数问题(二)……………… ◆第26讲长方体和正方体(一)……………… ◆第27讲长方体和正方体(二)…………………… ◆第28讲数的整除特征…………………………… ◆第29讲奇偶性问题…………………… ◆第30讲最大公约数和最小公倍数………………… ◆第30讲分解质因数(一)…………………… ◆第31讲分解质因数(二)…………………… ◆第32讲牛顿问题…………………… ◆综合测试………………………………………

编译原理第三版课后答案

编译原理课后题答案 第二章 P36-6 (1) L G () 1是0~9组成的数字串 (2) 最左推导: 最右推导: P36-7 G(S) P36-8 文法: 最左推导: 最右推导: 语法树:/******************************** *****************/ P36-9 句子iiiei有两个语法树: P36-10 /************** ***************/ P36-11 /*************** L1: L2: L3: L4: ***************/ 第三章习题参考答案P64–7 (1)

最小化: P64–8 (1) (2) (3) P64–12 (a) a a,b a 0

给状态编号: a a a b b b 最小化: a a b b a b (b) 已经确定化了, 进行最小化 最小化: P64 –14 (1) 0 1 0 (2): (|)*010 1 εε 0 0 0 Y Y

最小化: 0 1 1 1 0 0 第四章 P81–1 (1) 按照T,S 的顺序消除左递归 递归子程序: procedure S; begin if sym='a' or sym='^' then abvance else if sym='(' then begin advance;T; if sym=')' then advance; else error; end else error end; procedure T; begin S; T end;

procedure 'T; begin if sym=',' then begin advance; S;'T end end; 其中: sym:是输入串指针IP所指的符号advance:是把IP调至下一个输入符号error:是出错诊察程序 (2) FIRST(S)={a,^,(} FIRST(T)={a,^,(} FIRST('T)={,,ε} FOLLOW(S)={),,,#} FOLLOW(T)={)} FOLLOW('T)={)} 预测分析表 是LL(1)文法 P81–2 文法: (1) FIRST(E)={(,a,b,^} FIRST(E')={+,ε} FIRST(T)={(,a,b,^} FIRST(T')={(,a,b,^,ε} FIRST(F)={(,a,b,^} FIRST(F')={*,ε} FIRST(P)={(,a,b,^} FOLLOW(E)={#,)} FOLLOW(E')={#,)} FOLLOW(T)={+,),#} FOLLOW(T')={+,),#} FOLLOW(F)={(,a,b,^,+,),#} FOLLOW(F')={(,a,b,^,+,),#} FOLLOW(P)={*,(,a,b,^,+,),#} (2)

编译原理教程课后习题答案——第四章

第四章语义分析和中间代码生成 4.1 完成下列选择题: (1) 四元式之间的联系是通过实现的。 a. 指示器 b. 临时变量 c. 符号表 d. 程序变量 (2) 间接三元式表示法的优点为。 a. 采用间接码表,便于优化处理 b. 节省存储空间,不便于表的修改 c. 便于优化处理,节省存储空间 d. 节省存储空间,不便于优化处理 (3) 表达式(┐A∨B)∧(C∨D)的逆波兰表示为。 a. ┐AB∨∧CD∨ b. A┐B∨CD∨∧ c. AB∨┐CD∨∧ d. A┐B∨∧CD∨ (4) 有一语法制导翻译如下所示: S→bAb {print″1″} A→(B {print″2″} A→a {print″3″} B→Aa) {print″4″} 若输入序列为b(((aa)a)a)b,且采用自下而上的分析方法,则输出序列为。a. 32224441 b. 34242421 c. 12424243 d. 34442212 【解答】 (1) b (2) a (3) b (4) b 4.2 何谓“语法制导翻译”?试给出用语法制导翻译生成中间代码的要点,并用一简例予以说明。 【解答】语法制导翻译(SDTS)直观上说就是为每个产生式配上一个翻译子程序(称语义动作或语义子程序),并且在语法分析的同时执行这些子程序。也即在语法分析过程中,当一个产生式获得匹配(对于自上而下分析)或用于归约(对于自下而上分析)时,此产生式相应的语义子程序进入工作,完成既定的翻译任务。 用语法制导翻译(SDTS)生成中间代码的要点如下: (1) 按语法成分的实际处理顺序生成,即按语义要求生成中间代码。 (2) 注意地址返填问题。 (3) 不要遗漏必要的处理,如无条件跳转等。 例如下面的程序段: if (i>0) a=i+e-b*d; else a=0; 在生成中间代码时,条件“i>0”为假的转移地址无法确定,而要等到处理“else”时方可确定,这时就存在一个地址返填问题。此外,按语义要求,当处理完(i>0)后的语句(即“i>0”为真时执行的语句)时,则应转出当前的if语句,也即此时应加入一条无条件跳转指令,并且这个转移地址也需要待处理完else之后的语句后方可获得,就是说同样存在着地址返填问题。对于赋值语句a=i+e-b*d,其处理顺序(也即生成中间代码顺序)是先生成i+e的代码,再生成b*d的中间代码,最后才产生“-”运算的中间代码,这种顺序不能颠倒。 4.3 令S.val为文法G[S]生成的二进制数的值,例如对输入串101.101,则S.val= 5.625。按照语法制导翻译方法的思想,给出计算S.val的相应的语义规则,G(S)如下: G[S]: S→L.L|L

编译原理第二版课后习问题详解

《编译原理》课后习题答案第一章 第 1 章引论 第 1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。

第 2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程 序的总体结构图。 答案: 一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式 的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。 目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。 表格管理程序:负责建立、填写和查找等一系列表格工作。表格的作用是记录源程序的 各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。可以说整个编译过程就是造表、查表的工作过程。需要指出的是,这里的“表格管理程序”并不意味着它就是一个独立的表格管理模块,而是指编译程序具有的表格管理功能。 错误处理程序:处理和校正源程序中存在的词法、语法和语义错误。当编译程序发现源 程序中的错误时,错误处理程序负责报告出错的位置和错误性质等信息,同时对发现的错误

编译原理课后习题答案+清华大学出版社第二版

第 1 章引论 第1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。 答案: 一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

编译原理课后答案

第二章 2.3叙述由下列正规式描述的语言 (a) 0(0|1)*0 在字母表{0, 1}上,以0开头和结尾的长度至少是2的01 串 (b) ((ε|0)1*)* 在字母表{0, 1}上,所有的01串,包括空串 (c) (0|1)*0(0|1)(0|1) 在字母表{0, 1}上,倒数第三位是0的01串 (d) 0*10*10*10* 在字母表{0, 1}上,含有3个1的01串 (e) (00|11)*((01|10)(00|11)*(01|10)(00|11)*)* 在字母表{0, 1}上,含有偶数个0和偶数个1的01串 2.4为下列语言写正规定义 C语言的注释,即以 /* 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 [解答] other → a | b | … other指除了*以外C语言中的其它字符 other1 → a | b | … other1指除了*和/以外C语言中的其它字符 comment → /* other* (* ** other1 other*)* ** */ (f) 由偶数个0和偶数个1构成的所有0和1的串。 [解答]由题目分析可知,一个符号串由0和1组成,则0和1的个数只能有四种情况: x 偶数个0和偶数个1(用状态0表示); x 偶数个0和奇数个1(用状态1表示); x 奇数个0和偶数个1(用状态2表示); x 奇数个0和奇数个1(用状态3表示);所以, x 状态0(偶数个0和偶数个1)读入1,则0和1的数目变为:偶数个0和奇数个1(状态1) x 状态0(偶数个0和偶数个1)读入0,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态1(偶数个0和奇数个1)读入1,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态1(偶数个0和奇数个1)读入0,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入1,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入0,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态3(奇数个0和奇数个1)读入1,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态3(奇数个0和奇数个1)读入0,则0和1的数目变为:偶数个0和奇数个1(状态1) 因为,所求为由偶数个0和偶数个1构成的所有0和1的串,故状态0既为初始状态又为终结状态,其状态转换图: 由此可以写出其正规文法为: S0 → 1S1 | 0S2 | ε S1 → 1S0 | 0S3 | 1 S2 → 1S3 | 0S0 | 0 S3 → 1S2 | 0S1 在不考虑S0 →ε产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2 = 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1) S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解(2)式得: S3 = (00|11)* ((01|10) S0 + (01|10)) 代入(1)式得: S0 = (00|11) S0 + (01|10) (00|11)*((01|10) S0 + (01|10)) + (00|11) => S0 = ((00|11) + (01|10) (00| 11)*(01|10))S0 + (01|10) (00|11)*(01|10) + (00|11) => S0 = ((00|11)|(01|10) (00|11)*(01|10))*((00|1

编译原理第二版作业答案_第2章

第二章 文法和语言 p48 4、6(6)、11、 12(2)(6)、18(2) 4 证明文法G=({E,O},{(,),+,*,v ,d},P ,E )是二义的,其中P 为 E → EOE | (E) | v | d O → + | * 证明: 因为E=〉 EOE =〉EOEOE =〉EOEOv =〉EOE+v =〉EOv+v =〉E*v+v =〉v*v+v , 句子v*v+v 有两棵不同的语法树 所以文法G 是二义的。 问题:1)只有文字说明,比如v*v+v 有两棵语法树,但没有画出语法树或者最左(最右)推导过程 2)给出的是不同句子(v*v+d v+v*d )的语法树 6、已知文法G : E E E E O O v * v + v E E E E O O v + v * v

〈表达式〉∷=〈项〉|〈表达式〉+〈项〉 〈项〉∷=〈因子〉|〈项〉*〈因子〉 〈因子〉∷=(〈表达式〉)| i 试给出下述表达式的推导及语法树 (6)i+i*i 推导过程: 〈表达式〉=〉〈表达式〉+〈项〉E=〉E+T =〉〈表达式〉+〈项〉*〈因子〉=〉E+ T*F =〉〈表达式〉+〈项〉* i =〉E+ T*i =〉〈表达式〉+ 〈因子〉* i =〉E+F*i =〉〈表达式〉+ i* i =〉E+i*i =〉〈项〉+ i* i =〉T +i*i =〉〈因子〉+ i* i =〉F +i*i =〉i +i*i =〉i +i*i 共8步推导 语法树: 〈表达式〉 + 〈因子〉〈项〉 i 〈因子〉 i 〈项〉 〈项〉 〈因子〉 i *

11、一个上下文无关文法生成句子abbaa的推导树如下: (1)给出该句子相应的最左推导和最右推导 (2)该文法的产生式集合P可能有哪些元素? (3)找出该句子的所有短语、简单短语、句柄。 (1)最左推导: S=〉ABS=〉aBS=〉aSBBS=〉aBBS =〉abBS=〉abbS =〉abbAa=〉abbaa 最右推导: S =〉ABS=〉ABAa=〉ABaa=〉ASBBaa =〉ASBbaa=〉ASbbaa=〉Abbaa=〉abbaa (2)该文法的产生式集合P可能有下列元素: S→ABS | Aa|εA→a B→SBB|b

四年级下册数学试题-奥数专题讲练:2 加法原理 竞赛篇(解析版)全国通用

第二讲 加法原理 卷Ⅰ 本讲主要教学目标有 ①使学生掌握加法原理的基本内容; ②掌握加法原理的运用以及与乘法原理区别; ③培养学生对分类讨论问题的能力,了解分类主要方法和遵循的主要原则. 向上的有:1个三角形组成的:10个; 4个三角形组成的:6个; 9个三角形组成的:3个; 16个三角形组成的:1个。 向下的有:1个三角形组成的:6个; 4个三角形组成的:1个。 所以,一共有:27个。 专题精讲 教学目标 无论自然界还是学习生活中,事物的组成往往是分门别类的,例如解决一件问题的往往不只一类途径,每一类途径往往又包含多种方法,如果要想知道一共有多少种解决方法,就需要用到加法原理. 加法原理:一般地,如果完成一件事有k 类方法,第一类方法中有m 1种不同做法,第二类方法中有m 2种不同做法 ,…,第k 类方法中有m k 种不同的做法,则完成这件事共有N= m 1 + m 2 +…+m k 种不同的方法. 加法原理运用的范围:完成一件事的方法分成几类,每一类中的任何一种方法都能完成任务,这样的问题可以使用加法原理解决.我们可以简记为:“加法分类,类类独立”. 想 挑 战 吗? 数一数,下图中有多少个三角形?

(一)分类讨论问题中加法原理应用 【例1】(★★★)从3、5、7、10、12五个数中,每次取出两个数,分别作为一个分数的分子和分母,一共可以组成多少个最简真分数? 分析:如果3作分子:5、7、10都可以作为分母,三个最简真分数; 如果5作分子:7、12都可以作为分母,二个最简真分数; 如果7作分子:10、12都可以作分母,二个最简真分数; 如果10作分子:没有哪个数能作分母使成为最简真分数. 所以一共可以组成3+2+2=7个真分数. [前铺] 从3,5,7,11,19五个数中,每次取出两个数,分别作为一个分数的分子和分母,一共可以组成多少个真分数? 分析:如果3作分子:5,7,11,19都可以作为分母,四个真分数; 如果5作分子:7,11,19可以做分母,三个真分数; 如果7作分子:11,19可以做分母,两个真分数; 如果11作分子:只有19可以作分母,一个分数. 4+3+2+1=10,可以组成10个真分数. 这里注意到一种“对称性”,这里的真分数与假分数是一样多的。所以,只要考虑到“五排二”的关系,再除以2;或者考虑到“五选二”,只要有一组,必有一个真分数。所以这道题运用乘法原理也可以解得5×4÷(2×1)=10. 【例2】(★★★)2007的数字和是2+0+0+7=9. 问:大于2000小于3000的四位数中数字和等于9的数共有多少个? 分析:大于2000小于3000的四位数千位数字是2,要它数字和为9,只需其余三位数字和是7.因此,百位数字至多是7.于是 百位为7时,只有2700一个; 百位为6时,只有2610,2601两个; 百位为5时,只有2520,2511,2502三个; 百位为4时,只有2430,2421,2412,2403四个; 百位为3时,只有2340,2331,2322,2313,2304五个; 百位为2时,只有2250,2241,2232,2223,2214、2205六个; 百位为1时,只有2160,2151,2142,2133,2124、2115、2106七个; 百位为0时,只有2070,2061,2052,2043,2034、2025、2016、2007八个; 总计共1+2+3+4+5+6+7+8=36个.

相关主题