- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章算法与程序资料
算法流程图 开始 输入x p=0 p=0.05*(x-1000) p=500*0.05+0.1*(x-1500) p=500*0.05+0.1*2500+0.2*(x-4000) 输出p值 结束 x≤1000? x≤1500? x≤4000? Y N Y Y N N 2.5 算法设计举例 2.5.3 循环结构算法设计 例2.12 百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何? 分析:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100 其中0≤cocks≤19,0 ≤hens ≤33,0 ≤chicks ≤100 算法描述 cocks=0 当cocks ≤19时 {找满足题意的hens及chicks数 cocks加1 } 对于找满足题意的hens及chicks数可细化如下: cocks=0 当cocks ≤19时 {hens=0 当hens ≤33时 {找满足题意的chicks数 hens加1 } cocks加1 } 算法描述 对于找满足题意的chicks数可进一步细化如下: cocks=0 当cocks ≤19时 {hens=0 当hens ≤33时 {chicks=100-cocks-hens 如果满足(5*cocks+3*hens+chicks/3=100)则输出 hens加1 } cocks加1 } 程序实现 #include stdio.h void main() { int cocks=0,hens,chicks; while(cocks=19) { hens=0; while(hens=33) { chicks=100-cocks-hens; if(5.0*cocks+3.0*hens+chicks/3.0==100.0) printf(公鸡%d只,母鸡%d只,小鸡%d只\n,cocks,hens,chicks); hens++; } cocks++; } } 2.5 算法设计举例 2.5.4 常见算法设计 1.简单数学问题 例2.13 判断素数 s1:输入n的值 s2:2 = i ( i作除数) s3:n被i除得余数r s4:若r = 0,表示n能被i整除,则打印“n不是素 数”,算法结束;否则执行s5。 s5:i + 1 = i s6:若 i = n-1,返回s3;否则打印“n是素数”, 然后结束。 例2.14 求两个正整数的最大公约数 解法一:更相减损之术 S1:输入两个正整数m和n S2:若mn,则交换m和n S3:以n减去m,令所得的差为r S4:若r=0,则输出结果n,算法结束,否则继续 S5:若rm,则令n=m,m=r;否则令n=r,返回步骤3继续进行 例2.14 求两个正整数的最大公约数 解法二:辗转相除法 S1:输入两个正整数m和n S2:若mn,则交换m和n S3:以n除以m,令所得的余数为r S4:若r=0,则输出结果n,算法结束,否则继续 S5:令n=m,m=r;返回步骤3继续进行 2.5 算法设计举例 2.5.4 常见算法设计 2.查找 顺序查找 折半查找 s1:输入排好序的数组元素 s2:输入要查找的值key s3:n判断循环变量是否符合条件,若是转s4,否则转s7 s4:获取中间位置mid s5:如果midkey,则往低的位置查找,否则往高的位置查找 s6:找到与key匹配的值,将其位置=result转s7,否则result=-1转s3 s7:输出变量reslut的值,如果是-1,表示查找失败,否则即为要查找元素的位置。 2.5 算法设计举例 2.5.4 常见算法设计 3.排序 (1)冒泡排序法 输入n 个数给a[1] 到 a[n] for j=1 to n-1 for i=1 to n-j a[i]a[i+1] 真 假 a[i]?a[i+1] 输出a[1] 到 a[n] 例 38 49 65 76 13 27 30 97 第一趟 38 49 65 13 27 30 76 第二趟 38 49 13 27 30 65 第三趟 38 13 27 30 49 第四趟 13 27 30 38 第五趟 13 27 30 第六趟 49 38 65 97 76 1
您可能关注的文档
- 第2章机械故障诊断基础ok资料.ppt
- 《藏羚羊跪拜》jiang.ppt
- 《藏羚羊跪拜》课件5.ppt
- 心脏骤停与心肺脑复苏术PPT概要.ppt
- 《藏羚羊跪拜》课件.ppt
- 心脏电复律的护理概要.ppt
- 《虎门销烟》课件-有用.ppt
- 心血管疾病的营养治疗概要.ppt
- 心语花园农民工学校策划方案5-23概要.doc
- 心跳呼吸骤停抢救流程及急救药品知识概要.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)