实验一 算法设计基础
一.实验目的
理解蛮力法的思想及程序的执行过程;
理解递推算法的思想;
能较熟练地编写枚举、递推程序,对给定的问题能设计出相应算法予以解决。
二.实验基本步骤
1. 选定实验题目,仔细阅读实验要求,设计好输入输出,按照分治法的思想构思算法,选取合适的存储结构实现应用的操作。
2. 设计的结果应在Visual C++ 实验环境下实现并进行调试。(也可使用JAVA编程)
3. 实验要有详细的测试记录,包括各种可能的测试数据。
- 实验内容
- 编程求和:s=a+aa+aaa+aaaa+ „„+aaaa„aaa(n个),其中a为1~9中的一个数字。 提示:若第一项为a , 以后每一项由前一项乘以10加上a递推得到,然后求和。
- 编写程序求500 以内的勾股弦数,即满足 c2=b2+a2的3个数,要求b>a。将所有符合要求的组合存入文本文件中 ,每个组合占一行。
- 在教材3.4节中两个问题(最近对问题、凸包问题)中任意选择一个问题,编程实现用蛮力法求解。 具体算法参考教材40-42页。
4. 编程实现教材3.2小节排序问题中的两个排序算法(选择排序,冒泡排序),要求用函数实现排序算法,主函数中调用。待排序数据用随机数产生(这个过程建议也用一个函数实现。)