《算法设计与分析》实验报告实验二.docx

上传人:rrsccc 文档编号:9359876 上传时间:2021-02-21 格式:DOCX 页数:8 大小:240.08KB
返回 下载 相关 举报
《算法设计与分析》实验报告实验二.docx_第1页
第1页 / 共8页
《算法设计与分析》实验报告实验二.docx_第2页
第2页 / 共8页
《算法设计与分析》实验报告实验二.docx_第3页
第3页 / 共8页
《算法设计与分析》实验报告实验二.docx_第4页
第4页 / 共8页
《算法设计与分析》实验报告实验二.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《《算法设计与分析》实验报告实验二.docx》由会员分享,可在线阅读,更多相关《《算法设计与分析》实验报告实验二.docx(8页珍藏版)》请在三一文库上搜索。

1、武 汉 工 程 大 学计算机科学与工程学院算法设计与分析实验报告专业班级学生学号学生姓名实验项目实验类别实验目的及要求类别上机表现实验报告说明:计算机工程 01 班实验地点计算机大楼 403指导教师张立实验时间2014-04-09基本的算法策略设计性实验目的与要求:1) 掌握基本算法策略的设计思想与方法;2) 熟练掌握基本算法策略的选择与应用;3) 熟练掌握基本算法策略的编程实现与优化。实验内容要点:1) 分别用蛮力法和数学建模法求解同余方程组;成 绩 评 定 表评 分 标 准分值得分合计积极出勤、遵守纪律30 分主动完成实验设计任务及时递交、填写规范70 分内容完整、体现收获评阅教师:日 期

2、:年月日计算机科学与工程学院实 验 内 容( 2)猴子吃桃子问题,猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了两个,第二天早上又将剩下的桃子吃掉一半,又多吃了两个,以后每天早上都吃了前一天剩下的一半零两个, 到了第 10 天早上想再吃时, 就只剩下两个桃子了, 问第一天猴子摘了多少桃子?代码:#includevoid main()int a=2,i;for(i=8;i=0;i-)a=(a+2)*2;printf( 第一天猴子摘下%d 个桃子 n,a);测试:( 3) 54 张扑克牌,两个人轮流拿牌,每人每次最少取一张牌最多取4 张牌,谁拿最后一张谁输。编写模拟计算机先拿牌且必胜的

3、算法。代码:#includevoid main()int a,b,c,d,e,f;for(a=1;a=9;a+)for(b=0;b=9;b+)if(b!=a)for(c=0;c=9;c+)if(c!=a&c!=b)for(d=0;d=9;d+)算法分析与设计实验报告2计算机科学与工程学院if(d!=a& d!=b & d!=c)e=a*1000+b*100+c*10+d;f=(a+b+c+d)*(a+b+c+d);if(e%f=0)printf(%d%d%d%dt,a,b,c,d);printf(n);测试:( 8)寻找满足下列条件的四位数字: 1.无重复数字; 2.千位数字非零; 3.能整除

4、它的各个位数字和的平方。代码 :#includevoid main()int i,c;printf( 游戏开始,计算机先拿牌!n);c=51;printf( 计算机拿3 张 ! 还剩 %d 张 n,c);while(c1)printf( 请你拿牌,选择拿牌的张数(1-4 张) n);scanf(%d,&i);c=c-5;printf( 计算机拿了 %d 张,还剩 %d 张 n,5-i,c);printf( 你拿最后一张,计算机赢了!n);测试:算法分析与设计实验报告3计算机科学与工程学院算法分析与设计实验报告4计算机科学与工程学院#includeint amount=0, Board10010

5、0;void Cover(int tr, int tc, int dr, int dc, int size);void OutputBoard(int size);void main()int size=1,x,y,k,i;printf( 输入 K 值 :);scanf(%d,&k);for (i=1;i=k;i+)size=size*2;printf( 输入残缺个的位置x, y:);scanf(%d%d,&x,&y);Cover(0, 0, x, y, size);OutputBoard(size);算法分析与设计实验报告5计算机科学与工程学院void Cover(int tr, int t

6、c, int dr, int dc, int size)int s,t;if (size2)return;amount= amount+1;t = amount;/ 所使用的三格板的数目s=size/2;/ 子问题棋盘大小if (dr tr + s & dc tc + s)/残缺方格位于左上棋盘Cover(tr, tc, dr, dc, s);Boardtr + s - 1tc + s = t; /覆盖号三格板Boardtr + stc + s - 1 = t;Boardtr + stc + s = t;Cover (tr, tc+s, tr+s-1, tc+s, s); /覆盖其余部分Cov

7、er(tr+s, tc, tr+s, tc+s-1, s);Cover(tr+s, tc+s, tr+s, tc+s, s);else if(dr = tc + s)/残缺方格位于右上象限Cover(tr, tc+s, dr, dc, s);Boardtr + s - 1tc + s - 1 = t;/ 覆盖号三格板Boardtr + stc + s - 1 = t;Boardtr + stc + s = t;Cover (tr, tc, tr+s-1, tc+s-1, s);/覆盖其余部分Cover(tr+s, tc, tr+s, tc+s-1, s);Cover(tr+s, tc+s, t

8、r+s, tc+s, s);else if (dr = tr + s & dc = tr + s & dc = tc + s)/残缺方格位于右下象限Cover(tr+s, tc+s, dr, dc, s);Boardtr + s - 1tc + s - 1 = t; /覆盖号三格板Boardtr + s - 1tc + s = t;Boardtr + stc + s - 1 = t;算法分析与设计实验报告6计算机科学与工程学院Cover (tr, tc, tr+s-1, tc+s-1, s); / 覆盖其余部分Cover (tr, tc+s, tr+s-1, tc+s, s);Cover(tr

9、+s, tc, tr+s, tc+s-1, s);void OutputBoard(int size)for (int i = 0; i size; i+)for(int j=0; j size; j+)printf(%-4d,Boardij);printf(n);算法分析与设计实验报告7计算机科学与工程学院实 验 总 结这次的实验和上次的实验难度相差不大,猴子摘桃子的题目用到了倒推法,从最后一天一只推到第一天,即可得出结果。第二个题目起初觉得很难。后来仔细想了一下,两个人一起拿牌可以保证一共拿五张, 最先拿牌的人可以根据后拿牌的张数改变,而最开始拿牌的张数一定要为 3 张。最后一定是后拿牌的人输。最后一个题可以用蛮力法。我用的 4 重 for 循环。每位数用一个表示一位整数表示,再把满足条件的输出。算法分析与设计实验报告8

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

当前位置:首页 > 社会民生


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