专业C10讲习题课2ppt课件.ppt

上传人:本田雅阁 文档编号:2696157 上传时间:2019-05-05 格式:PPT 页数:24 大小:588.01KB
返回 下载 相关 举报
专业C10讲习题课2ppt课件.ppt_第1页
第1页 / 共24页
专业C10讲习题课2ppt课件.ppt_第2页
第2页 / 共24页
专业C10讲习题课2ppt课件.ppt_第3页
第3页 / 共24页
专业C10讲习题课2ppt课件.ppt_第4页
第4页 / 共24页
专业C10讲习题课2ppt课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《专业C10讲习题课2ppt课件.ppt》由会员分享,可在线阅读,更多相关《专业C10讲习题课2ppt课件.ppt(24页珍藏版)》请在三一文库上搜索。

1、1/59,2/24,此讲的几个例题分别涉及以下知识点: 逻辑关系判断及布尔变量设计 函数调用 循环语句及break和continue的应用,第十讲 习题课(2),3/24,例一、跳水高手,5位跳水高手参加10米高台跳水决赛,有好事者让5人据实力预测比赛结果。 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一。 决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛的实际名次。,4/24,例一、跳水高手,首先,对ABCDE的名次进行全排列。可以用最笨的五重循环,但必须保证ABCDE的名次没

2、有相同的。 for(a=1;a=5;a+) for(b=1;b=5;b+) for(c=1;c=5;c+) for(d=1;d=5;d+) for(e=1;e=5;e+) if(a!=b&a!=c&a!=d&a!=e) if(b!=c&b!=d&b!=e) if(c!=d&c!=e) if(d!=e) ,5/24,例一、跳水高手,改为四重循环,即e=15-a-b-c-d; for(a=1;a=5;a+) for(b=1;b=5;b+) for(c=1;c=5;c+) for(d=1;d=5;d+) e=15-a-b-c-d; 四个名次不重复,则可用五个数据相乘结果为120来判断。 if(120

3、=a*b*c*d*e),6/24,例一、跳水高手,其次,分析每人说过的话,二句中一句真一句假。 枚举每人的话,保证两句的真假值之和为1,而不是真假的逻辑与值为true。 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一。 if(b=2)+(a=3)=1) if(b=2)+(e=4)=1) if(c=1)+(d=2)=1) if(c=5)+(d=3)=1) if(e=4)+(a=1)=1),7/24,例一、跳水高手,也可以写成: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二

4、; D选手说:C最后,我第三; E选手说:我第四,A第一。 ta=(b=2)+(a=3)=1; tb=(b=2)+(e=4)=1; tc=(c=1)+(d=2)=1; td=(c=5)+(d=3)=1; te=(e=4)+(a=1)=1; t=ta+tb+tc+td+te; if(t=5) cout,8/24,例二、行政疑案,某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: A、B至少有一人作案; A、E、F三人中至少有两人参与作案; A、D不可能是同案犯; B、C或同时作案,或与本案无关; C、D中有且仅有一人作案; 如果D没有参与作案,则E也不可能参与作案。 试编一程序,将作案人找出来。,

5、9/24,例二、行政疑案,逻辑与&犹如一个开关电路,如图。 A-表示开关A合上 B-表示开关B合上 A&B表示灯亮与否,A&B,A B,10/24,例二、行政疑案,逻辑或|的电路,如图。 A-表示开关A合上 B-表示开关B合上 A|B表示灯亮与否,11/24,例二、行政疑案,将案情的每一条写成逻辑表达式,第一条用CC1表示,第二条用CC2表示,依次类推。 CC1: A、B至少有一人作案; 令A变量表示A作案 B变量表示B作案 这显然是或的关系。因此CC1=A|B;,12/24,例二、行政疑案,CC2: A、E、F三人中至少有两人参与作案; 分析:第一种AE作案。写成A,13/24,例二、行政疑

6、案,CC2的真值表,14/24,例二、行政疑案,CC3: A、D不可能是同案犯; 分析:A如果是案犯,则D一定不是案犯,写成A,15/24,例二、行政疑案,CC4: B、C或同时作案,或与本案无关; 分析:第一种情况,同时作案。写成B,CC5: C、D中有且仅有一人作案; 因此CC5=(C,16/24,例二、行政疑案,CC6:如果D没有参与作案,则E也不可能参与作案;,17/24,例三、验证哥德巴赫猜想,哥德巴赫猜想可表述为:a) 任一不小于6之偶数,都可以表示成两个奇质数之和;b) 任一不小于9之奇数,都可以表示成三个奇质数之和。 欧拉也提出另一等价版本,即任一大于2的偶数都可写成两个质数之

7、和。欧拉的命题比哥德巴赫的命题要求更高。现在通常把这两个命题统称为哥德巴赫猜想。 把命题“任何一个大偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和“记作“a+b“,哥氏猜想就是要证明“1+1“成立。1966年陈景润证明了“1+2“成立,即“任何一个大偶数都可表示成一个素数与另一个素因子不超过2个的数之和“。,18/24,例三、验证哥德巴赫猜想,将6N以内的偶数分解为两个质数之和。例如 38=7+31 算法:设n=n1+n2 1、令n1=3n/2, 2、若n1是质数,则令n2=n-n1。否则n1+,再转2 3、若n2是质数,则分解式已找到,否则,令n1+,再转2,

8、19/24,#include #include using namespace std; int main() void divide(int n); int i,n; coutn; if (n6) exit(0); for(i=6;in+1;i+=2) divide(i); return 0; ,20/24,void divide(int n) int IsPrime(int n); int i,m; for(i=3;in/2) cout“哥德巴赫猜想不成立“; return; coutn“=“i“+“mendl; ,21/24,int IsPrime(int n) int i; for(i=2;in;i+) if (n%i=0) return 0; return 1; ,22/24,思考:,输入50,即可从6开始输出每个偶数的分解式 但是此分解式只有一种。,23/24,思考:,要实现对所有的分解式进行输出,如何修改程序?,24/24,作业及实验,第四章作业:HZAU-专业C+作业ch4 第三次实验:HZAU-专业C+实验3(计算机1-2班) 抓紧时间!,see you!,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1