算法基本工具和优化技巧.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
天津城市建设学院 作业: 2、国王分财产。某国王临终前给儿子们分财产。他把 财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份? 天津城市建设学院 作业: 3、出售金鱼。 第一次卖出全部金鱼的一半加二分之一条金鱼; 第二次卖出乘余金鱼的三分之一加三分之一条金鱼; 第三次卖出剩余金鱼的四分之一加四分之一条金鱼; 第四次卖出剩余金鱼的五分之一加五分之一条金鱼; 现在还剩下11条金鱼,在出售金鱼时不能把金鱼切开或者有任何破损的。问这鱼缸里原有多少条金鱼? 天津城市建设学院 作业: 4、某路公共汽车,总共有八站,从一号站发轩时车上已有n位乘客,到了第二站先下一半乘客,再上来了六位乘客;到了第三站也先下一半乘客,再上来了五位乘客,以后每到一站都先下车上已有的一半乘客,再上来了乘客比前一站少一个……,到了终点站车上还有乘客六人,问发车时车上的乘客有多少? 天津城市建设学院 作业: 5、小华读书。第一天读了全书的一半加二页,第二天读了剩下的一半加二页,以后天天如此……,第六天读完了最后的三页,问全书有多少钱页? 天津城市建设学院 作业: 6、日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完 后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子? 科目 及格学生学号 语文 1,9,6,8,4,3,7 代数 5,2,9,1,3,7 外语 8,1,6,7,3,5,4,9 ? 枚举法: 一次考试共考了语文、代数和外语三科。某小组共有九人,考后各科及格名单如下表,请编写算法找出三科全及格的学生的名单(学号)。 求X,使X2为一个各位数字互不相同的九位数。(枚举法) 分析:只能用枚举法尝试完成此题。由X2为一个九位数,估算X应在10000——32000之间。 1)? 用一个10 个元素的状态数组p,记录数字0——9在X2中出现的情况。数组元素都赋初值为0,表示数字0——9没有被使用过。 2)? 对尝试的每一个数x,求x*x,并取其各位数字,数字作为数组的下标,若对应元素为0,则该数字第一次出现,将对应的元素赋为1,表示该数字已出现一次。否则,若对应元素为1,则说明有重复数字,结束这次尝试。 3) 容易理解当状态数组p中有9个元素为1时,就找到了问题的解。但这样判定有解,需要扫描一遍数组p。为避免这个步骤,设置一个计数器k,在取x*x各个位数字的过程中记录不同的数字的个数,当k=9时就找到了问题的解。 main( ) {long x, y1, y2; int p[10], 2, i, t, k, num=0; for (x=10000;x32000; x++) { for(i=0; i=9; i=i+1) p[i]=0; y1=x*x ; y2=y1; k=0; for(i=1; i=9;i++) {t=y2 % 10; y2=y2/10; if(p[t]==0) {k=k+1; p[t]=1;} else break; } if(k==9) {num=num+1; cout“No.”num “:=”x“n2=” y1);} } } 警察局抓了a,b,c,d四名偷窃嫌疑犯,其中只有一人是小偷。审问中 a说:“我不是小偷。” b说:“c是小偷。” c说:“小偷肯定是d。” d说:“c在冤枉人。” 现在已经知道四个人中三人说的是真话,一人说的是假话, 问到底谁是小偷? 信息数字化 算法设计:用变量x存放小偷的编号,则x的取值范围从1取到4,就假设了他们中的某人是小偷的所有情况。四个人所说的话就可以分别写成: a说的话:x1 b说的话:x=3 c说的话:x=4 d说的话:x4或not(x=4) 注意:在x的枚举过程中,当这四个逻辑式的值相加等于3时,即表示“四个人中三人说的是真话,一人说的是假话

文档评论(0)

nnh91 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档