当前位置:文档之家› 枚举算法题目及其代码

枚举算法题目及其代码

枚举算法题目及其代码
枚举算法题目及其代码

枚举算法题目及其代码 By LYLtim

1、砝码称重(Weight)

【问题描述】

设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重≤1000g)。【输入格式】

a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,..20g砝码有a6个)

【输出格式】

Total=N (N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况)

【输入样例】weight.in

1 1 0 0 0 0

【输出样例】weight.out

Total=3,表示可以称出1g,2g,3g三种不同的重量

【参考程序】

var i,a1,a2,a3,a4,a5,a6,s:word;

a:array[1..6]of word;

b:array[0..1000]of boolean;

begin

assign(input,'weight.in');reset(input);

assign(output,'weight.out');rewrite(output);

fillchar(b,sizeof(b),false);

s:=0;

for i:=1 to 6 do read(a[i]);

for a1:=0 to a[1] do

for a2:=0 to a[2] do

for a3:=0 to a[3] do

for a4:=0 to a[4] do

for a5:=0 to a[5] do

for a6:=0 to a[6] do

if not b[a1+a2*2+a3*3+a4*5+a5*10+a6*20] then

begin

b[a1+a2*2+a3*3+a4*5+a5*10+a6*20]:=true;

inc(s);

end;

writeln('Total=',s-1);

close(input);close(output);

end.

2、完美数

【问题描述】

古希腊人对数学作出了巨大贡献。欧几里德和毕达哥拉斯就是这个时代最杰出的数学家中的两位。欧几里德23卷的《几何原本》仍然是被认为学习数学的基础读物。

欧几里德对毕达哥拉斯提出的“完美数”问题作了重要贡献。6是完美数,6=1+2+3,刚好是其因数之和(小于6的因数)。另一个完美数是28,28=1+2+4+7+1。

在《几何原本》第九卷,欧几里德找到了所有偶完美数。(后来在20世纪才证明所有的完美数都是偶数)欧几里德证明一个偶数如果满足以下形式就是完美数:2^(p–1)*(2^p–1),其中p和2^p–1都是质数。2000年后,欧拉证明了欧几里德定理的逆命题:每一个偶完美数都是欧几里德形式。例如6 = 2^(2–1)*(2^2–1), 28 = 2^(3–1)*(2^3–1)。

完美数很少。到1975年,只发现24个完美数,前4个完美数是6,28,496,8128。相应的p是2,3,5,7

给你一些整数p(不一定是质数)。请你判断2^(p–1)*(2^p–1)是不是完美数。最大的完美数不超过2^33。

【输入格式】

输入文件仅一行,为p。

【输出格式】

输出"Yes"或"No"(注意大小写)

【输入样例】number.in

2

【输出样例】number.out

Yes

【参考程序】

const max=131071;

var pr:array[1..max]of boolean;

p:byte;

procedure eratos;

var i,j:word;

begin

fillchar(pr,sizeof(pr),true);

pr[1]:=false;

for i:=2 to max div 2 do

if pr[i] then for j:=2 to max div i do

pr[i*j]:=false;

end;{eratos}

begin{main}

eratos;

assign(input,'number.in');reset(input);

assign(output,'number.out');rewrite(output);

readln(p);

if(pr[p])and(pr[trunc(exp(p*ln(2)))-1])then writeln('Yes') else writeln('No');

close(input);close(output);

end.

3、苹果摘陶陶(apple.)

【问题描述】

话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份,然后把他们挂在树上,准备摘取。

摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了。给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……

【输入格式】

第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)

以下的n行,分别为各个苹果能够到的最大高度。

再接下来的m行,分别为各个陶陶的高度。

高度均不高于300。当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。

【输出格式】

输出仅有一个数,是剩下的陶陶的数量

【输入样例】apple.in

5 5

9

10

2

3

1

6

7

8

9

10

【输出样例】apple.out

3

【参考程序】

var n,m,tot:word;

ap:array[1..2000]of word;

tt:array[0..2000]of word;

bo:array[1..2000]of boolean;

procedure init;

var i:word;

begin

assign(input,'apple.in');reset(input);

readln(n,m);

for i:=1 to n do readln(ap[i]);

tt[0]:=0;

for i:=1 to m do

begin

readln(tt[i]);

bo[i]:=true;

end;

close(input);

end;{init}

procedure work;

var i,j,best:word;

begin

tot:=m;

for i:=1 to n do

begin

best:=0;

for j:=1 to m do

if(tt[j]tt[best])and(bo[j]) then best:=j;

if best>0 then

begin

bo[best]:=false;

dec(tot);

end;

end;

end;{work}

procedure print;

begin

assign(output,'apple.out');rewrite(output);

writeln(tot);

close(output);

end;{print}

begin{main}

init;

work;

print;

end.

4、猫老大数(NUMBER. PAS)

【问题描述】

猫老大很喜欢研究数字,特别是喜欢质数。一天,猫老大发现有一些数字可以表示成两个质数相乘的形式。比如,10=2×5. 2,5都是质数,所以 10 是一个“猫老大数 ”。

所以猫老大决定考考彩虹,他告诉彩虹一个数 n ,判断 n 是不是“猫老大数”?

【输入格式】

一行,一个数 n (1<=n<=2^31-1).

【输出格式】

输出一行,如果 n 是一个“猫老大数”则输出 “It's a MaoLaoDa number.”否则输出“It's not a MaoLaoDa number.”

【输入样例】NUMBER.in

10

【输出样例】NUMBER.out

It's a MaoLaoDa number.

【参考程序】

var n:longword;

i:word;

k:byte;

begin

assign(input,'number.in');reset(input);

assign(output,'number.out');rewrite(output);

k:=0;

read(n);

for i:=2 to trunc(sqrt(n)) do

if n mod i=0 then

begin

inc(k);

if k>1 then continue;

end;

if k=1 then writeln('It''s a MaoLaoDa number.')

else writeln('It''s not a MaoLaoDa number.');

close(input);close(output);

end.

5、陶陶学数学(Pnumber.pas)

【问题描述】

陶陶很喜欢数学 ,尤其喜欢奇怪的数。一天,他突然发现,有的整数拥有的因子数是很有个性的,决定找到一个具有n个正因子数的最小的正整数。

例如:n=4,则m=6,因为6有4个不同正整数因子1,2,3,6;而且是最小的有4个因子的整数。

【输入文件】

仅一个数 n(1≤n≤50000)

【输出文件】

仅一个数 m

【样例输入】pnumber.in

4

【样例输出】pnumber.out

6

【参考程序】

var n,x,t,i:word;

begin

assign(input,'pnumber.in');reset(input);

assign(output,'pnumber.out');rewrite(output);

readln(n);

x:=0;

repeat

inc(x);t:=0;

for i:=1 to x do

if x mod i=0 then inc(t);

until t=n;

writeln(x);

close(input);close(output);

end.

6、子数整数

【问题描述】

对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:

sub1=a1a2a3

sub2=a2a3a4

sub3=a3a4a5

例如,五位数20207可以拆分成

sub1=202

sub2=020(=20)

sub3=207

现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。

【输入格式】

输入由键盘输入,输入仅一行,为正整数K(0

【输出格式】

输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。

【输入样例】num.in

15

【输出样例】num.out

22555

25555

28555

30000

【参考程序】

var k,i:word;

no:boolean;

begin

assign(input,'num.in');reset(input);

assign(output,'num.out');rewrite(output);

no:=true;

readln(k);

for i:=10000 to 30000 do

if((i div 100)mod k=0)and(((i div 10)mod 1000)mod k=0)and((i mod 1000)mod k=0) then

begin

writeln(i);

if no then no:=false;

end;

if no then writeln('No');

close(input);close(output);

end.

常用算法枚举法

实验五常用算法:枚举法递推法迭代法 一、实验目的 掌握枚举法,递推法、迭代法这3种常用算法。 二、实验内容 1.编程求和: [提示] 令各项为b0,b1,b2,…bn 则b0 = a b1 = b0×10+a b2 = b1×10+a… 即每一项由前一项乘以10加a递推得到,然后求和。 2.编程求出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其 各位数字的立方和等于该数本身,例如153是一个“水仙花数”,因为153= 13+53+33。要求采用枚举法。 3. 范例:设函数f(x)定义在区间[a,b]上,f(x)连续且满足f(a) ×f(b)<0,求f(x)在[a,b]上的根。采用割线法,迭代公式为: x i+1= x i+( x i-1- x i)/(f(x i)-f(x i-1))*f(x i) 其代换规律为:首先用两端点函数值的绝对值较大者的对应点作为x i-1,较小者 作为x i,即如果|f(a)|<|f(b)|,则将a赋给x i-1,将b赋给x i。用迭代公式得出x i+1, f(x i+1)。 误差定义为: ⊿x =( x i-1- x i)/(f(x i)-f(x i-1))*f(x i) 当⊿x<ε或f(x i+1)==0则结束运算。否则用(x i,f(x i))代替(x i-1,f(x i-1)),(x i+1,f(x i+1))代替(x i,f(x i)),继续迭代。 求解方程:x*lg(x)=1的实根的近似值,误差不超过0.001。 [提示]令 f(x)=xlgx-1,则f(2)≈-0.398<0,而f(3)≈0.431>0,由此可知根 在2与3之间。 #include #include using namespace std; const max=30; double a=2,b=3,ep=0.001; int main(){ int maxit,j; double x1,x2,temp,f1,f2,dx; f1=a*log10(a)-1; f2=b*log10(b)-1; if(f1*f2>=0){ cout<<"初值错!"<

谈谈用枚举算法解决问题的编程思路与步骤方法

谈谈用枚举算法解决问题的编程思路与步骤方法 一.问题 上海市普通高中在信息科技学科中开展《算法与程序设计》教学,教材中有一章名为“算法实例”的内容,其中有一节介绍“枚举算法”。教材中关于枚举算法的描述:有一类问题可以采用一种盲目的搜索方法,在搜索结果的过程中,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不合要求的,保留那些符合要求的。这种方法叫做枚举算法(enumerative algorithm)。 枚举法就是按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。在列举的过程中,既不能遗漏也不应重复。 生活和工作中,人们经常会不经意间运用“枚举算法”的基本原理,进行问题的解决。比如,让你用一串钥匙,去开一把锁,但是不知道具体是用哪一把钥匙,你就会一把一把地挨个地逐个尝试,最终打开锁为止。又如,要对1000个零件,进行合格检验,等等。 二.用枚举算法的思想编写程序的思路与步骤 枚举算法,归纳为八个字:一一列举,逐个检验。在实际使用中,一一列举;采用循环来实现,逐个检验:采用选择来实现。 下面,通过一个问题的解决来说明这一类问题的解决过程的方法与步骤; 例1:在1—2013这些自然数中,找出所有是37倍数的自然数。 这个问题就可以采用枚举算法来解决: 1).一一列举;采用循环来实现; 循环需要确定范围:本循环控制变量假设用i,起始值是1,终止值是2013。 2).逐个检验:采用选择来实现; 选择需要列出判断的关系表达式:i Mod 37 = 0 这样,就可以写出整个求解的VB代码: Dim i As Integer For i = 1 To 2013 If i Mod 37 = 0 Then Print i End If Next i 说白了,用枚举算法解决问题,其实是利用计算机的高速度这一个优势,就好比上题完全可以使用一张纸和一支笔,采用人工的方法完成问题的解,从1开始,一一试除以37,这样计算2013次,也可以找到问题的答案。 在教学中,问题的求解往往是针对数学上的问题,下面举一些相关的例子,来巩固与提高采用枚举算法进行程序设计的技能。 三.枚举算法举例: 1:一张单据上有一个5位数的编号,万位数是1,千位数是4,百位数是7,个位数、十位数已经模糊不清。该5位数是57或67的倍数,输出所有满足这些条件的5位数的个数。(147□□) 1).一一列举;采用循环来实现;

三年级数学枚举法练习题题库

三年级枚举法练习题题库 (思维突破)姓名: 例1、一个三位数,每一位上的数字都是0、1、2中的一个,且数字不重复,请问:一共有多少个满足条件的三位数? 练1、一个三位数,每一位上的数字都是1、2、4中的一个,且数字不重复,请问:一共有多少个满足条件的三位数? 例2、一个四位数,每一位上的数字都是0、1、2中的一个,并且相邻的两个数字不同,请问:一共有多少个满足条件的四位数? 练2、一个三位数,每一位上的数字都是5、6、7中的某一个,并且相邻的两个数字不同,请问:一共有多少个满足条件的三位数? 例3、小高、墨莫和萱萱玩传球游戏,每次持球人都可以把球传给另外两人中的任何一人。先由小高拿球,经过4次传球之后,球又回到了小高手里。请问:一共有多少种不同的传球过程? 练3、有A、B、C三片荷叶,青蛙“呱呱”在荷叶A上,每次它都会从一片荷叶跳到另一片荷叶上,结果它跳了3次之后,不在荷叶A上。请问:它一共有多少种不同的跳法? 例4、一个两位数,十位比个位大,个位不小于5且不大于7,请问:这样的两位数一共有多少个? 练4、王老师有一个带密码锁的公文包,但是他忘记了密码,只记得密码是一个两位数。这个两位数的个位数字比十位数字大,并且没有比4大的数字,试问:王老师最多需要试多少次就肯定能打开这个公文包? 课后作业: 1、一个两位数,每一位上的数字都是1、 2、3中的一个,且数字不重复,请问:一共

有多少个满足条件的两位数? 2、一个三位数,每一位上的数字都是6、7、8中的一个,且数字不重复,请问:一共有多少个满足条件的三位数? 3、粗心的卡莉娅忘记了日记本的三位密码,只记得密码是由1、2、7三个数字中的某些数字构成的,且相邻的两个数字不一样。那么卡莉娅最多试几次就一定能打开日记本? 4、由1、2、7能组成多少个各位数字不重复的三位数? 5、由1、2能组成多少个三位数?(数字不必都用上) 6、由2、3、4各一个组成三位数。要求:百位不是2,十位不是3,个位不是4,则符合三位数有多少个? 7、一个三位数,百位比十位小,十位比个位小,百位不小于6.那么这样的三位数一共有多少个? 8、松鼠宝宝出去摘松果,每次出去都会摘回来1个松果或2个松果。那么松鼠宝宝恰好采4个松果有多少种不同的过程? 9、甲、乙、丙三个人传球,从甲开始传球,每次拿球的人都把球传给剩下两个人中的一人,传了3次后球在丙的手上,那么一共有多少种可能的传球过程? 10、甲、乙、丙三个人传球,从甲开始传球,每次拿球的人都把球传给剩下两个人中的一人,传了3次后球不在丙的手上,那么一共有多少种可能的传球过程?

算法(枚举)

枚举算法(2课时) 一、教学目标 1.知识目标:(1)通过具体实例的求解,让学生了解什么是枚举算法; (2)让学生亲身体验并理解枚举算法解决问题的基本思想; (3)用流程图形式来表示枚举算法解决问题的思路; (4)拓展:通过学习,解决日常实际问题; 2.能力目标:(1)“摆事实,讲道理”,通过具体例子分析,让学生理解如何用3步法来解决实际问题(提出问题——分析问题——解决问题); (2)通过自主学习过程体验,合作探究画流程图的学习方式,提高学生的信息素养。 3.情感目标:(1)通过情景创设,激发学生学习兴趣; (2)通过3步法,让学生更能结合其他学科的学习方法,激发学生善 于思考问题,解决问题的能力; (3)通过小组合作,增进学生间的学习交流,培养合作能力,激发学生学习能动性; 二、重点与难点 1.重点:通过对涂抹数据的猜想,让学生理解枚举算法的思想,初步培养学生解决实际问题的能力; 2.难点:理解多种控制结构的嵌套; 枚举算法思想的理解与实现(流程图转化为代码并上机实践) 三、教学模式 1.教师教法:情景创设法、演示法、讨论法 2.学生学法:自主学习、合作探究学习 四、课前准备 1.上课环境:多媒体电脑房; 2.上课工具:幻灯片(枚举算法.ppt课件);辅助教学软件(flash动画,过程体验);

一件校服 五、教学过程 (一)、创设情景,引入问题(引导学生概括枚举算法的概念)(引入主题) 幻灯片展示:这是我的校服吗? 教师:各位同学,在我们上课之前,先请7位同学表演一段试衣情景!(要求:某一列的学生起立,由第1位同学开始试穿上衣,然后脱掉后传给第2位, 第2位试穿后传给第3位,依次……) 试衣结束后教师提出问题:同学们,请问,看了此情景后,你们觉得这件校服是谁的呢? 学生一答:是甲的,也可能是乙的。 学生二答:谁也不是,我觉得。 教师问:那么依照学生二回答,难道就找不到这件校服的主人了吗? 学生二补充:老师,你可以给其他同学再试试啊,也许有适合的哦。 学生们:对对对…… 教师小结:很好,那么我们从刚才的小情景中可以看出,如果要找到一个问题的真正解,必须要把所有可能的解都先列出来,然后再一一进行检验, 看看是否有符合条件的。那么我们把这样的一种算法称为“枚举算法”(二)、学习新课(认知主题) 幻灯片展示:枚举算法:按问题本题的性质,一一列举出该问题所有可能的解, 并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若 是,就采纳这个解,否则就抛弃它。 教师问:请问各位同学,在看了枚举算法这个概念后,你们觉得这个算法的最关键的要求是什么? 学生三答:一一列举,检验 教师问:那么在列举过程中,我在刚才范了一个怎么样的错误呢? 学生们:你没列举出所有的解,只试了一部分同学啊……

枚举算法 练习题

1.用50元钱兑换面值为1元、2元、5元的纸币共25张。每种纸币不少于1张,求出有多少种兑换方案?每种兑换方案中1元、2元、5元的纸币各有多少张? 假设面值为1元、2元、5元的纸币分别是x、y、z张,兑换方案有k种,从题意可得出x、y、z满足的表达式为 x+y+z=25 x+2y+5z=50 解决此问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim k As Integer Dim x As Integer, y As Integer, z As Integer k = 0 List1.Clear For y = 1 To 23 For z = 1 To 9 x = 25 - y - z If (1) Then List1.AddItem "1元" + Str(x) + "张 2元" + Str(y) + "张 5元" + Str(z) + "张" ____(2)___________ End If Next z Next y Label1.Caption = "共有" + Str(k) + "种兑换方案" End Sub 程序中划线处(1)应填入_____________ 程序中划线处(2)应填入_____________ 2.以下Visual Basic程序的功能是:计算表达式1+2+22+23+24+25+26+27+28+29+210的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的语句应更正为_____________。 Private Sub Command1_Click() Dim i As Integer,s As Long s = 0 k = 2 For i= 1 To 10 s = s + k k = k * 2 Next i Text1.Text=Str(s) End Sub

(完整版)小学奥数枚举法题及答案【三篇】

小学奥数枚举法题及答案【三篇】 导读:本文小学奥数枚举法题及答案【三篇】,仅供参考,如果觉得很不错,欢迎点评和分享。 【篇一】枚举法问题 在一个圆周上放了1个红球和1994个黄球。一个同学从红球开始,按顺时针方向,每隔一个球,取走一个球;每隔一个球,取走一个球;……他一直这样操作下去,当他取到红球时就停止。你知道这时圆周上还剩下多少个黄球吗? 答案与解析: 根据题中所说的操作方法,他在第一圈的操作中,取走的是排在黄球中第2、4、6、……1994位置上的黄球,这时圆周上除了一个红球外,还剩下1994÷2=997个黄球。 在第二圈操作时,他取走了这997个黄球中,排在第1、3、5、7、……995、997位置上的黄球,这时圆周上除了一个红球外,还剩下997—(997+1)÷2=498个黄球。 他又要继续第三圈操作了,他隔过红球,又取走了这498个黄球中,排在第1、3、5、……495、497的位置上的黄球,这时圆周上除了一个红球外,还剩下498÷2=249个黄球。 因为在上一圈操作时,排在这498个黄球中最后一个位置上的黄球没有被取走,所以他再进行操作时,第一个被取走的就是那个红球,这时,他的操作停止,圆周上剩下249个黄球。【篇二】

在一个圆周上放了1个红球和1994个黄球。一个同学从红球开始,按顺时针方向,每隔一个球,取走一个球;每隔一个球,取走一个球;……他一直这样操作下去,当他取到红球时就停止。你知道这时圆周上还剩下多少个黄球吗? 答案与解析: 根据题中所说的操作方法,他在第一圈的操作中,取走的是排在黄球中第2、4、6、……1994位置上的黄球,这时圆周上除了一个红球外,还剩下1994÷2=997个黄球。 在第二圈操作时,他取走了这997个黄球中,排在第1、3、5、7、……995、997位置上的黄球,这时圆周上除了一个红球外,还剩下997—(997+1)÷2=498个黄球。 他又要继续第三圈操作了,他隔过红球,又取走了这498个黄球中,排在第1、3、5、……495、497的位置上的黄球,这时圆周上除了一个红球外,还剩下498÷2=249个黄球。 因为在上一圈操作时,排在这498个黄球中最后一个位置上的黄球没有被取走,所以他再进行操作时,第一个被取走的就是那个红球,这时,他的操作停止,圆周上剩下249个黄球。【篇三】

初中信息技术 1.6 枚举算法教案

1.6 枚举算法 《枚举算法》一课的重点是让学生理解枚举算法思想,并用其解决生活中的问题。在前面的教学中,学生已理解了算法的特点,学习了算法的三种表示方式,对于顺序、选择、循环三种基本控制结构已经有了知识基础,也能阅读一些简单的程序段。对于学生来说,枚举算法思想比较容易掌握,难点在于如何将枚举算法思想转变成具体的流程图,又如何转变成具体的VB程序。教材中以“单据涂抹”和“包装问题”两个实例引入并展开利用枚举算法解决问题的一般过程。通过上一学年的教学实践,感觉学生对这两个实例的学习兴趣并不高,教学效果也不很理想。本课设计打破教材编写的顺序,将教材中第二章的算法与第五章的程序结合起来组织教学,通过理论结合实践,让学生更容易理解各种算法的基本设计思想,体验编写程序的成功感受。 一、教学目标 知识与技能:理解枚举算法的基本思想;学会用流程图形式表示枚举算法;理解由流程图翻译成的VB代码,能上机成功调试。 过程与方法:通过具体案例分析,理解如何用三步法来解决实际问题;学会使用枚举算法解决简单问题。 情感、态度与价值观:感受枚举算法在日常生活中的广泛应用,培养对算法的兴趣;通过小组合作增进学习交流,培养合作能力。 二、教学重点与难点 重点:让学生理解枚举算法;培养学生运用三步法来解决实际问题的能力。 难点:让学生理解多种控制结构的嵌套;让学生能够将枚举算法思想转化为流程图,再将流程图转化为代码并上机实践。 三、设计思想 算法课一般与枯燥、晦涩、难懂等字眼联系在一起,难以激发学生的兴趣。如何打破这种局面,让学生自主学习算法呢? 本课的设计除了遵循算法“自顶而下,逐步求精”的思想之外,新意之处在于,根据电影情节别出心裁地创设了一个“男女主角辨认模糊电话号码”的情境,在故事中不露痕迹地渗透了教学内容。让学生融入电影情节,体验角色的情感,不知不觉地学会枚举算法,完成教学任务。 四、课前准备 向左走向右走》电影片段、枚举算法的VB演示程序、多媒体网络机房 五、教学过程 1.创设情境认知主题 课前播放电影片段。 师:这是哪部电影中的画面?

枚举算法题目及其代码

枚举算法题目及其代码 的计数算法及其代码的标题由李利添 1,权重[问题描述] 有1g,2g,3g,5g,10g,XXXX年后,欧拉证明了欧几里得定理的逆命题:每一个偶数完全数都是欧几里得形式例如,6 = 2(2–1)*(2 2–1),28 = 2(3–1)*(2 3–1) 是一个罕见的完全数。到1975年,只找到了24个满分,前四个是6,28,496,8128对应的p是2,3,5,7, ,给你一些整数p(不一定是质数)请判断2(p-1)*(2p-1)是否是一个完全数最高满分不超过2 33分[输入格式] 输入文件只有一行,即p[输出格式] 输出\或\注意情况)。[输入样本]编号2 [输出样本]编号2 [参考程序] 常量最大值= 131071; var pr:array[1..最大值]的布尔值;p:字节; 程序埃拉托斯;var i,j:word;begin fillchar(pr,sizeof(pr),true);公关[1]:=假; 表示i:=2至最大div 2,如果pr[i]则 表示j:=2至最大div i,则pr[I * j]:= false;结束;{埃拉托} begin{main}埃拉托; 赋值(输入,“number . in”);重置(输入);

2 赋值(输出,“number . out”);重写(输出);read ln(p); if(pr[p)和(pr[trunc(exp(p*ln(2)))-1])则writeln(“是”)否则writeln(“否”); 关闭(输入);关闭(输出);结束。 3,苹果采摘陶陶[问题描述] 说苹果去年被陶陶采摘后非常生气,他们用最先进的克隆技术克隆了许多陶陶的复制品,然后挂在树上采摘。 的规则是,一个苹果只能摘一个陶陶,而且只有最高的陶陶低于它能摘的高度(即小于关系),如果它不能摘,它只能沮丧地走开。给出苹果的数量、每个苹果能达到的高度和每个陶陶的高度,并问摘下苹果后还剩多少陶陶。?[输入格式] 的第一行有两个数字:苹果的数量n和陶陶的数量m (n,m0然后开始[最佳]:= false;12月(tot);结束;结束;结束;{ work } 程序打印;开始 分配(输出,“apple . out”);重写(输出);write ln(tot);关闭(输出);结束;{打印}开始{主}初始化;工作;打印;结束。 4 4,顶级卡特彼勒编号(编号。[问题描述] 顶猫非常喜欢研究数字,尤其是质数一天,top cat发现有些数字可

一年级数学 奥数试题 枚举法(扫描版)

二年级奥数题及答案:枚举法 二年级奥数题及答案:枚举法 1.一个长方形的周长是22米,如果它的长和宽都是整米数,问: ①这个长方形的面积有多少可能值? ②面积最大的长方形的长和宽是多少? 2.有四种不同面值的硬币各一枚,它们的形状也不相同,用它们共能组成多少种不同钱数? 3.三个自然数的乘积是24,问由这样的三个数所组成的数组有多少个?如(1,2,12)就是其中的一个,而且要注意数组中数字相同但顺序不同的算作同一数组,如(1,2,12)和(2,12,1)是同一数组. 4.小虎给3个小朋友写信,由于粗心,把信装入信封时都给装错了,结果3个小朋友收到的都不是给自己的信,请问小虎错装的情况共有多少种可能? 5.一个学生假期往A、B、C三个城市游览.他今天在这个城市,明天就到另一个城市.假如他第一天在A市,第五天又回到A市.问他的游览路线共有几种不同的方案? 6.下图中有6个点,9条线段,一只甲虫从A点出发,要沿着某几条线段爬到F点.行进中甲虫只能向右、向下或向右下方运动.问这只甲虫有多少种不同的走法? 7.小明有一套黄色数字卡片、、,有一套蓝色数字卡片、、.一天他偶然用卡片做了下面的游戏:把不同色的卡片交叉配对,一次配成3对,然后把每对卡片上的黄蓝数字相乘之后再相加求和,你知道他共找到了多少种配对相乘求和的方式吗?比如说下面是其中一种: 黄蓝黄蓝黄蓝 8.五个学生友1,友2,友3,友4,友5一同去游玩,他们将各自的书包放在了一处.分手时友1带头开了个玩笑,他把友2小朋友的书包拿走了,后来其他的小朋友也都拿了别人的书包.试问在这次玩笑中故意错拿书包的情形有多少种不同方式? 习题解答 1.解:这个长方形的长和宽之和是22÷2=11(米),由长方形的面积=长×宽,可知: 由上表可见面积最大的长方形的长是6米、宽是5米,面积是30平方米. 猜想:由本讲的例1和习题1这两题来看,周长一定的所有长方形中,长和宽相等或相近

常用算法(二)——穷举搜索法

常用算法——穷举搜索法 二、穷举搜索法 穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。 【问题】将A、B、C、D、E、F这六个变量排成如图所示的三角形,这六个变量分别取[1,6]上的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。如图就是一个解。 程序引入变量a、b、c、d、e、f,并让它们分别顺序取1至6的证书,在它们互不相同的条件下,测试由它们排成的如图所示的三角形三条边上的变量之和是否相等,如相等即为一种满足要求的排列,把它们输出。当这些变量取尽所有的组合后,程序就可得到全部可能的解。细节见下面的程序。 【程序1】 # include void main() { int a,b,c,d,e,f; for (a=1;a<=6;a++) for (b=1;b<=6;b++) { if (b==a) continue; for (c=1;c<=6;c++) { if (c==a)||(c==b) continue; for (d=1;d<=6;d++) { if (d==a)||(d==b)||(d==c) continue; for (e=1;e<=6;e++) { if (e==a)||(e==b)||(e==c)||(e==d) continue; f=21-(a+b+c+d+e); if ((a+b+c==c+d+e))&&(a+b+c==e+f+a)) { printf(“%6d,a); printf(“%4d%4d”,b,f); printf(“%2d%4d%4d”,c,d,e); scanf(“%*c”); } } } } } } 按穷举法编写的程序通常不能适应变化的情况。如问题改成有9个变量排成三角形,每条边有4个变量的情况,程序的循环重数就要相应改变。 对一组数穷尽所有排列,还有更直接的方法。将一个排列看作一个长整数,则所有排列对应着一组整数。将这组整数按从小到大的顺序排列排成一个整数,从对应最小的整数开始。按数列的递增顺序逐一列举每个排列对应的每个整数,这能更有效地完成排列的穷举。从一个排列找出对应数列的下一个排列可在当前排列的基础上作部分调整来实现。倘若当前排列

回溯算法实例一

【问题】填字游戏 问题描述:在3×3个方格的方阵中要填入数字1到N(N≥10)内的某9个数字,每个方格填一个整数,似的所有相邻两个方格内的两个整数之和为质数。试求出所有满足这个要求的各种数字填法。 可用试探发找到问题的解,即从第一个方格开始,为当前方格寻找一个合理的整数填入,并在当前位置正确填入后,为下一方格寻找可填入的合理整数。如不能为当前方格找到一个合理的可填证书,就要回退到前一方格,调整前一方格的填入数。当第九个方格也填入合理的整数后,就找到了一个解,将该解输出,并调整第九个的填入的整数,寻找下一个解。 为找到一个满足要求的9个数的填法,从还未填一个数开始,按某种顺序(如从小到大的顺序)每次在当前位置填入一个整数,然后检查当前填入的整数是否能满足要求。在满足要求的情况下,继续用同样的方法为下一方格填入整数。如果最近填入的整数不能满足要求,就改变填入的整数。如对当前方格试尽所有可能的整数,都不能满足要求,就得回退到前一方格,并调整前一方格填入的整数。如此重复执行扩展、检查或调整、检查,直到找到一个满足问题要求的解,将解输出。 回溯法找一个解的算法: { int m=0,ok=1; int n=8; do{ if (ok) 扩展; else 调整; ok=检查前m个整数填放的合理性; } while ((!ok||m!=n)&&(m!=0)) if (m!=0) 输出解; else 输出无解报告; } 如果程序要找全部解,则在将找到的解输出后,应继续调整最后位置上填放的整数,试图去找下一个解。相应的算法如下: 回溯法找全部解的算法: { int m=0,ok=1; int n=8; do{ if (ok) { if (m==n) { 输出解; 调整; } else 扩展; } else 调整; ok=检查前m个整数填放的合理性; } while (m!=0); }

枚举算法题目及其代码

枚举算法题目及其代码 By LYLtim 1、砝码称重(Weight) 【问题描述】 设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重≤1000g)。【输入格式】 a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,..20g砝码有a6个) 【输出格式】 Total=N (N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况) 【输入样例】weight.in 1 1 0 0 0 0 【输出样例】weight.out Total=3,表示可以称出1g,2g,3g三种不同的重量 【参考程序】 var i,a1,a2,a3,a4,a5,a6,s:word; a:array[1..6]of word; b:array[0..1000]of boolean; begin assign(input,'weight.in');reset(input); assign(output,'weight.out');rewrite(output); fillchar(b,sizeof(b),false); s:=0; for i:=1 to 6 do read(a[i]); for a1:=0 to a[1] do for a2:=0 to a[2] do for a3:=0 to a[3] do for a4:=0 to a[4] do for a5:=0 to a[5] do for a6:=0 to a[6] do if not b[a1+a2*2+a3*3+a4*5+a5*10+a6*20] then begin b[a1+a2*2+a3*3+a4*5+a5*10+a6*20]:=true; inc(s); end; writeln('Total=',s-1); close(input);close(output);

实用的枚举算法教案

《实用的枚举算法》教案 上课时间:班级:技术1班授课教师:徐飞翔 一、教学目标: 1、知识与技能: (1)理解枚举算法的概念。 (2)通过枚举算法,理解循环中嵌套分支的结构特点,执行过程。 (3)在理解流程图的基础上,初步实现VB代码的编写,并上机用VB语言实现程序的功能。 2、过程与方法: (1)培养同学自主探索研究、解决问题的能力。 (2)能通过实际问题的分析、求解过程,尝试归纳出利用枚举算法解决问题的思路和方法。 (3)培养同学用计算机程序解决问题的思维能力。 3、情感态度与价值观: (1)通过解决任务,培养同学勇于尝试,不怕困难的精神。 (2)积极参与、主动探究;合作学习,体验成功。 二、教学设计思想: 《学科教学指导意见》中对枚举算法的教学目标是使学生能了解枚举算法的概念,并用枚举算法来解决实际问题。根据这两次信息技术选考考试的难度,此课例不要求同学独立地画出流程图,而仅要求学生在理解枚举算法设计思想的基础上,读懂循环中嵌套分支的流程图,并完成主程序关键处的选择或填空(其中填空比选择对学生思维的要求又高一些)。 三、学情分析: 通过前几个章节的学习与实践,VB中几个相关的函数已经讲解并上机实践过了,对于3种基本控制结构大部分同学已理解,对于用流程图描述算法也非常熟悉,VB上机操作已有一定的实践,为本节内容的学习提供了良好的基础。 对于简单的程序段也有一定的认知意识,那么在本课中学生会觉得设计思想比较容易掌握。困难之处在于如何将题目的设计思想转化为流程图,根据流程图写出相应的代码,并通过自己编制程序上机实践来体验。那么在课堂分析过程中学生将从听课--理解--体验--探究,这些过程中全面掌握枚举算法的设计思想,并能用此算法来解决日常生活问题及与其他学科有所关联的一些简单问题。 四、教学重点: 理解枚举算法的概念和基本特征。 五、教学难点: a)熟练掌握循环结构、分支结构的嵌套使用。 b)枚举算法思想的理解与实现(流程图转化为VB代码并上机实践)。 六、教学准备: 计算机机房、教学课件(枚举算法.ppt) 七、教学过程: (一)新课导入 小明不小心把寝室门钥匙丢了,他去寝室管理员那里去找钥匙开门。寝室管理员那里总共有100把钥匙,其中配套的钥匙有若干把,但钥匙上只有1到100的编号没有寝室编号,请问小明如何才能找出能开自己寝室门的所有钥匙? 设计算法画出流程图。 (二)学习新课 1.枚举算法:按问题本题的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,就采纳这个解,否则就抛弃它。

计数枚举法例题讲解

计数枚举法例题讲解 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

计数枚举法经典例题讲解 例1一本书共100页,在排页码时要用多少个数字是6的铅字(适于三年级程度)解:把个位是6和十位是6的数一个一个地列举出来,数一数。 个位是6的数字有:6、16、26、36、46、56、66、76、86、96,共10个。 十位是6的数字有:60、61、62、63、64、65、66、67、68、69,共10个。 10+10=20(个) 答:在排页码时要用20个数字是6的铅字。 例2 从A市到B市有3条路,从B市到C市有两条路。从A市经过B市到C市有几种走法(适于三年级程度) 解:作图3-1,然后把每一种走法一一列举出来。 第一种走法:A ① B ④ C 第二种走法:A ① B ⑤ C 第三种走法:A ② B ④ C 第四种走法:A ② B ⑤ C 第五种走法:A ③ B ④ C 第六种走法:A ③ B ⑤ C 答:从A市经过B市到C市共有6种走法

例3 9○13○7=100 14○2○5=□ 把+、-、×、÷四种运算符号分别填在适当的圆圈中(每种运算符号只能用一次),并在长方形中填上适当的整数,使上面的两个等式都成立。这时长方形中的数是几(适于四年级程度) 解:把+、-、×、÷四种运算符号填在四个圆圈里,有许多不同的填法,要是逐一讨论怎样填会特别麻烦。如果用些简单的推理,排除不可能的填法,就能使问题得到简捷的解答。 先看第一个式子:9○13○7=100 如果在两个圆圈内填上"÷"号,等式右端就要出现小于100的分数;如果在两个圆圈内仅填"+"、"-"号,等式右端得出的数也小于100,所以在两个圆圈内不能同时填"÷"号,也不能同时填"+"、"-"号。 要是在等式的一个圆圈中填入"×"号,另一个圆圈中填入适当的符号就容易使等式右端得出100。9×13-7=117-7=110,未凑出100。如果在两个圈中分别填入"+"和"×"号,就会凑出100了。 9+13×7=100 再看第二个式子:14○2○5=□ 上面已经用过四个运算符号中的两个,只剩下"÷"号和"-"号了。如果在第一个圆圈内填上"÷"号,14÷2得到整数,所以: 14÷2-5=2 即长方形中的数是2。 例4 印刷工人在排印一本书的页码时共用1890个数码,这本书有多少页(适于四年级程度)解:(1)数码一共有10个:0、1、2……8、9。0不能用于表示页码,所以页码是一位数的页有9页,用数码9个。

基础算法(一)枚举法

基础算法(一)枚举(穷举)法 无论什么类型的试题,只要能归纳出数学模型,我们尽量用解析方法求解,因为一个好的数学模型建立了客观事物间准确的运算关系。 在一时找不出解决问题的更好途径时,可以根据问题中的约束条件,将所有可能的解全部列举出来,然后逐一验证是否符合整个问题的求解要求。 一、枚举法的基本思想: 从可能的解集合中一一穷举各元素,用题目给定的检验条件判定哪些是有用的,哪些是无用的,能使命题成立的,即为其解。 这种思维方法主要是基于计算机运算速度快的特点。 二、枚举法解题思路: 1、对命题建立正确的数学模型; 2、根据命题确定数学模型中各变量的变化范围(即可能解的范围); 3、利用循环语句、条件判断语句逐步求解或证明。 三、枚举法的特点: 算法简单,但运算量大。 对于可能确定解的范围,又一时找不到更好的算法时,可以采用枚举法。 1、求满足表达式A+B=C的所有整数解,其中A、B、C为1~3之间的整数。 2、鸡兔同笼问题(在同一个笼子里有鸡和兔子若干只,从上面看,能看到 20个头,从下面看,能看到60只脚,问鸡兔各有多少只?) 3、百钱百鸡问题(一百块钱要买一百只鸡,这一百只鸡必须包含母鸡、公 鸡和小鸡,其中,公鸡5元一只,母鸡3元一只,小鸡1元三只,问有哪些购买方案?) 4、水仙花数问题(ABC=A3+B3+C3,列出所有的整数ABC) 5、一根29厘米长的尺子,只允许在上面刻7个刻度,要能用它量出1~29 厘米的各种长度,试问刻度应该怎样选择? 6、猴子选大王:有M个猴子围成一圈,每个有一个编号,编号从1到M。 打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始,每隔N个,数到的猴子出圈,最后剩下来的就是大王。 要求:从键盘输入M,N,编程计算哪一个编号的猴子成为大王。 参考程序:

计数枚举法经典例题讲解

计数枚举法经典例题讲解 例1一本书共100页,在排页码时要用多少个数字是6的铅字?(适于三年级程度) 解:把个位是6和十位是6的数一个一个地列举出来,数一数。 个位是6的数字有:6、16、26、36、46、56、66、76、86、96,共10个。 十位是6的数字有:60、61、62、63、64、65、66、67、68、69,共10个。 10+10=20(个) 答:在排页码时要用20个数字是6的铅字。 例2 从A市到B市有3条路,从B市到C市有两条路。从A市经过B市到C市有几种走法?(适于三年级程度) 解:作图3-1,然后把每一种走法一一列举出来。 第一种走法:A ① B ④ C 第二种走法:A ① B ⑤ C 第三种走法:A ② B ④ C 第四种走法:A ② B ⑤ C 第五种走法:A ③ B ④ C 第六种走法:A ③ B ⑤ C 答:从A市经过B市到C市共有6种走法 例3 9○13○7=100 14○2○5=□ 把+、-、×、÷四种运算符号分别填在适当的圆圈中(每种运算符号只能用一次),并在长方形中填上适当的整数,使上面的两个等式都成立。这时长方形中的数是几?(适于四年级程度) 解:把+、-、×、÷四种运算符号填在四个圆圈里,有许多不同的填法,要是逐一讨论怎样填会特别麻烦。如果用些简单的推理,排除不可能的填法,就能使问题得到简捷的解答。 先看第一个式子:9○13○7=100 如果在两个圆圈内填上"÷"号,等式右端就要出现小于100的分数;如果在两个圆圈内仅填"+"、"-"号,等式右端得出的数也小于100,所以在两个圆圈内不能同时填"÷"号,也不能同时填"+"、"-"号。 要是在等式的一个圆圈中填入"×"号,另一个圆圈中填入适当的符号就容易使等式右端得出100。9×13-7=117-7=110,未凑出100。如果在两个圈中分别填入"+"和"×"号,就会凑出100了。 9+13×7=100 再看第二个式子:14○2○5=□ 上面已经用过四个运算符号中的两个,只剩下"÷"号和"-"号了。如果在第一个圆圈内填上"÷"号,14÷2得到整数,所以: 14÷2-5=2 即长方形中的数是2。 例4 印刷工人在排印一本书的页码时共用1890个数码,这本书有多少页?(适于四年级程度)解:(1)数码一共有10个:0、1、2……8、9。0不能用于表示页码,所以页码是一位数的页有9页,用数码9个。 (2)页码是两位数的从第10页到第99页。因为99-9=90,所以,页码是两位数的页有90页,用数码: 2×90=180(个)

小学奥数枚举法题及答案

小学奥数枚举法题及答案【三篇】 【篇一】 枚举法问题 在一个圆周上放了1个红球和1994个黄球。一个同学从红球开始,按顺时针方向,每隔一个球,取走一个球;每隔一个球,取走一个球;……他一直这样操作下去,当他取到红球时就停止。你知道这时圆周上还剩下多少个黄球吗? 答案与解析: 根据题中所说的操作方法,他在第一圈的操作中,取走的是排在黄球中第2、4、6、……1994位置上的黄球,这时圆周上除了一个红球外,还剩下1994÷2=997个黄球。 在第二圈操作时,他取走了这997个黄球中,排在第1、3、5、7、……995、997位置上的黄球,这时圆周上除了一个红球外,还剩下997—(997+1)÷2=498个黄球。 他又要继续第三圈操作了,他隔过红球,又取走了这498个黄球中,排在第1、3、5、……495、497的位置上的黄球,这时圆周上除了一个红球外,还剩下498÷2=249个黄球。 因为在上一圈操作时,排在这498个黄球中最后一个位置上的黄球没有被取走,所以他再进行操作时,第一个被取走的就是那个红球,这时,他的操作停止,圆周上剩下249个黄球。 【篇二】 在一个圆周上放了1个红球和1994个黄球。一个同学从红球开始,按顺时针方向,每隔一个球,取走一个球;每隔一个球,取走一个球;……他一直这样操作下去,当他取到红球时就停止。你知道这时圆周上还剩下多少个黄球吗? 答案与解析:

根据题中所说的操作方法,他在第一圈的操作中,取走的是排在黄球中第2、4、6、……1994位置上的黄球,这时圆周上除了一个红球外,还剩下1994÷2=997个黄球。 在第二圈操作时,他取走了这997个黄球中,排在第1、3、5、7、……995、997位置上的黄球,这时圆周上除了一个红球外,还剩下997—(997+1)÷2=498个黄球。 他又要继续第三圈操作了,他隔过红球,又取走了这498个黄球中,排在第1、3、5、……495、497的位置上的黄球,这时圆周上除了一个红球外,还剩下498÷2=249个黄球。 因为在上一圈操作时,排在这498个黄球中最后一个位置上的黄球没有被取走,所以他再进行操作时,第一个被取走的就是那个红球,这时,他的操作停止,圆周上剩下249个黄球。 【篇三】

算法三种基本结构pp循环结构

学案:枚举算法 【学习目标】 知识与技能: 了解枚举算法的关键,掌握枚举法解题的基本思路,学会使用流程图描述枚举算法(循环中嵌套分支),知道枚举算法的适用情况(枚举算法的局限性)。 过程与方法: 从寻找四月小寿星和水仙花数的过程中,归纳总结枚举法解题的基本思路,通过一份被涂抹的单据的应用,巩固枚举法的算法流程图。 情感态度与价值观: 在具体情境中感受枚举法在生活中的广泛应用和重要价值,认同枚举解决问题的局限性,培养学生严密的逻辑思维能力、自主探究能力,提升学生信息素养。 【学习重点】 掌握枚举法的基本概念和特点,正确绘制枚举法的算法流程图。 【学习导航】 一.知识准备(课前完成) 1.在框中绘制当型循环结构流程图: 当型循环结构流程图 设计循环结构时要注意:循环条件,控制循环的变量的初值和循环体(循环结构三要素)。循环结构中虽然有判断框,但循环环结构只有一个入口和一个出口。 二.构建新知:(课中完成) 1.枚举算法: 枚举算法的定义: 按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中检验每个可能解是否是问题的真正解,若是,则采纳这个解,否则抛弃它。在列举的过程中应注

意不能重复也不能遗漏。 枚举算法解题的基本思路: 1)确定枚举范围和判定条件; 2)一一枚举可能的解,验证是否是问题的解 2.寻找水仙花数 阅读资料一:水仙花数 若一个三位数,满足条件该三位数等于百位数数值的三次方加上十位数数值的三次方加上个位数数值的三次方之和,则x称为水仙花数。 思考:如何将一个三位数中各个位的数字取出,完成填充。 百位数数值a: 十位数数值b: 个位数数值c: 完成流程图填充(流程图中的i表示三位数x)

六年级奥数试题-枚举法(学生版)

第四讲枚举法 1.计数问题分为两个大类: 2.枚举需要按照一定的顺序和一定的规律来进行分类,这样可以做到不重复和不遗漏。 3.枚举法的根本思想在于分类,通过分类可以将原本复杂的问题拆分成若干个比较简单的问题,然后再逐一进行分析。分类的思想可以化繁为简,化复杂为简单。 4.可以利用“树形图”来方便的记录枚举的过程,有几类问题就分出几个分枝,逐层按照顺序不断分叉再一一筛选,留下符合条件的,去掉不符合条件的。注意在枚举“不计次序”的问题时,只需考虑从小到大(或从大到小)排列的分枝,而不用理会其他情况。 5.计次序: 6.不计次序: 1.理解“枚举法”的含义。 2.能在题目中熟练运用枚举法解题。

例1:小明和小红玩掷骰子的游戏,共有两枚骰子,一起掷出。若两枚骰子的点数和为7,则小明胜;若点数和为8,则小红胜。试判断他们两人谁获胜的可能性大。 例2:数一数,右图中有多少个三角形。 例3:在算盘上,用两颗珠子可以表示多少个不同的四位数? 例4 有一只无盖立方体纸箱,将它沿棱剪开成平面展开图。那么,共有多少种不同的展开图? 例5:小明的暑假作业有语文、算术、外语三门,他准备每天做一门,且相邻两天不做同一门。如果小明第一天做语文,第五天也做语文,那么,这五天作业他共有多少种不同的安排? 例6:一次数学课堂练习有3道题,老师先写出一个,然后每隔5分钟又写出一个。规定:

(1)每个学生在老师写出一个新题时,如果原有题还没有做完,那么必须立即停下来转做新题;(2)做完一道题时,如果老师没有写出新题,那么就转做前面相邻未解出的题。解完各题的不同顺序共有多少种可能? 例7:是否存在自然数n,使得n2+n+2能被3整除? A 1. A、B、C、D、E、F六支球队进行单循环赛,当比赛进行到某一天时,统计出A、B、C、D、E五队已分别比赛了5、4、3、2、1场,由此可知,还没有与B队比赛的球队是()A. C队 B. D队 C. E队 D. F队 2.写自然数1、2、3、…、1000,一共写了__个0() A. 90 B. 171 C. 189 D. 192 3.已知x,y都有整数,且xy=6,那么适合等式的解共有__8__组 4.将6拆成两个或两个以上的自然数之和,共有多少种不同拆法? 5.小明有10块糖,如果每天至少吃3块,吃完为止,那么共有多少种不同的吃法? B 6.用五个1×2的小矩形纸片覆盖右图的2×5的大矩形,共有多少种不同盖法?

相关主题
文本预览
相关文档 最新文档