1 / 9
文档名称:

算法设计中的基本方法.docx

格式:docx   大小:26KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算法设计中的基本方法.docx

上传人:mazhuangzi1 2022/7/22 文件大小:26 KB

下载得到文件列表

算法设计中的基本方法.docx

相关文档

文档介绍

文档介绍:算法设计中的基本方法
人们希望计算机求解的问题是千差万别的,所设计的求解算法也千差万别,一般来说, 算法设计没有什么固定的方法可循。但是通过大量的实践,人们也总结出某些共性的规律, 其中包括递归方法、分治方法、贪心法、回溯法、动态3=15+60+=
5*7+3*13+80/3=35+39+=
5*11+3*6+83/3=55+18+=^100
显然,这三组解不满足数学方程,但由于我们在C语言中,进行int型除法时,77/3 的结果就是25 , 80/3 的结果就是26 , 83/3 的结果就是27,这也是计算机在处理整型数据 时的特点,在进行除法运算时,对于商的小数部分不再进行处理,直接截断。所以就造成 了在数学上本来不成立的方程,在计算机中成立了。
产生这个问题的根本原因就是我们在分析问题的过程中忽略了一个重要条件,变量z 要能够被3 整除。为了解决这个问题我们要在原来两个方程的基础上增加一个判断条件:
z%3==0
经过修改后,我们可以得到新的程序2:
程序 2:
#include >
main( )
{ int x, y, z, j=0;
for (x=0; x<=20; x++)
for (y=0; y<=33; y++)
for (z=0; z<=100; z++)
if ( z%3==0 && x+y+z==100 && 5*x+3*y+z/3==100 ) /* 增加了 z%3==0 */ printf("%2d:cock=%2d hen=%2d chicken=%2d\n", ++j, x, y, z ) ;
}
再次运行程序,可以得到正确的结果:
1: cock= 0
hen=25
chicken=75
2: cock= 4
hen=18
chicken=78
3: cock= 8
hen=11
chicken=81
4: cock=12
hen= 4
chicken=84
为了保证变量z能够整除3,我们还可以换一个思路,在与z有关的for循环上作文章。 程序2的循环中变量z每次+1,这样z就很可能不时3的倍数,我们可以对此进行优化, 让变量 z 每次循环不是加1,而是加 3,这样就可以保证变量 z 一定是 3 的倍数,因此我 们就可以省略判断z是否可以被3整除的过程。
按照这样的思路,我们可以得到程序3。
程序 3:
#include <>
main( )
{int x, y, z, j=0;
for (x=0; x<=100; x++) for (y=0; y<=100; y++)
/* j为计数器,记录解的数量*/
/*穷举变量x */
for (z=0; z<=100; z+=3)
/*穷举变量Z,每次增加的步长为3 */
/* 穷举变量 y */
if ( x+y+z==100 && 5*x+3*y+z/3==100 ) /* 判断是否满足两个方程 */
printf("%2d:cock=%2d hen=%2d chicken=%2d\n", ++j, x, y, Z); }
运行程序 3,也可以得到正确的结果。

最近更新

2024年安徽黄梅戏艺术职业学院单招综合素质考.. 55页

2024年宝鸡中北职业学院单招职业适应性考试题.. 57页

2024年山东力明科技职业学院单招职业技能测试.. 55页

2024年山东文化产业职业学院单招职业倾向性测.. 57页

2024年山东省泰安市单招职业倾向性测试题库附.. 56页

2024年山东艺术设计职业学院单招职业适应性测.. 55页

2024年山西工程职业学院单招职业倾向性考试题.. 56页

2024年山西省财政税务专科学校单招职业技能测.. 55页

2024年山西运城农业职业技术学院单招职业技能.. 55页

2024年常州信息职业技术学院单招职业倾向性考.. 55页

2024年广东农工商职业技术学院单招综合素质考.. 55页

2024年广东环境保护工程职业学院单招职业技能.. 55页

2024年广东省清远市单招职业倾向性测试题库最.. 56页

2024年广东轻工职业技术学院单招职业技能测试.. 56页

2024年广州番禺职业技术学院单招职业适应性考.. 55页

2024年广西培贤国际职业学院单招职业适应性测.. 55页

2024年广西理工职业技术学院单招职业倾向性考.. 58页

2024年广西省钦州市单招职业适应性考试必刷测.. 57页

2024年庆阳职业技术学院单招职业倾向性考试题.. 55页

2024年张家界航空工业职业技术学院单招职业技.. 54页

2024年成都文理学院单招综合素质考试必刷测试.. 56页

2024年承德护理职业学院单招职业技能测试题库.. 56页

2024年新疆交通职业技术学院单招职业倾向性考.. 57页

2024年新疆建设职业技术学院单招职业倾向性测.. 55页

市政工程项目经理部各部门职责 13页

2024年明达职业技术学院单招职业适应性测试必.. 56页

2024年朔州职业技术学院单招职业适应性测试必.. 56页

2024年柳州城市职业学院单招职业适应性测试必.. 56页

2024年榆林职业技术学院单招职业倾向性考试必.. 56页

2024年毕节医学高等专科学校单招职业技能考试.. 55页