- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安邮电大学
(计算机学院)
课内实验报告
实验名称:贪心算法计算最优分解方案
专业名称:
班级:
学生姓名:
学号( 8 位):
指导教师:
实验日期: 2016 年 6 月 1 日
. 实验目的及实验环境
实验目的 : 熟悉并掌握贪心算法
实验环境 : windows7 vc6.0 编译器二 . 实验内容
题目描述 :
设 n 是一个正整数。现在要求将 n 分解成干互不相同的自然数的和,且使这些自然数的成绩最大。
算法设计 :
对于给定的正整数 n,编程计算最优分解方案。
三.方案设计
问题分析 :
若 a+b=n,则 |a-b| 越小,那么, a*b 越大。贪心策略 :
将 n 分解成从 2 开始的连续自然数的和,优先的方式下均匀地分给前面各项。如果最后剩下一个数,将此数加到后项中。
例如 : 对于 8 进行分解为 2 和 3 则剩下一个 3;
然后 2 和 3 再分别从 3 中均匀地获得 1 最后变成 3 和 4,最后剩下 1 加给 4 上。所以,最终分解成 3 和 5,是 8 的分解为不相同的自然数乘机最大。
程序流程图 :
否
是
是
否
是
四.测试数据及运行结果
1.正常测试数据( 3 组)及运行结果;
五.总结
1. 实验过程中遇到的问题及解决办法;
问题 : 逻辑不清晰。
解决办法 : 画出流程图
2.对设计及调试过程的心得体会。
贪心算法是从问题的某个初始解出发逐步,逼近给定的目标,以尽可能快地求得更好的解。当达到某一步不能继续前进时,算法停止。这时就得到了问题的一个解。但不能保证求得的解是最优的。贪心算法的优点在于时间复杂度低。贪心算法与其他最优化算法的区别在于 : 它具有不可后撤性,可以有后效性,一般情况下,不能满足最优化原理。贪心算法的特点就决定了它的使用范围,它一般不适用
于解决可行性问题。仅适用于较容易得到可行性解得最优性问题。 ( 这里较容易得到可行解得概念 : 当前的策略选择后,不会或极少出现无解的情况。交互性题目,贪心算法是一个较好的选择。 )
六.附录:源代码(电子版)
/* 用贪心算法解题 : 设 n 是一个正整数。
现在要求将 n 分解为若干互不相同的自然数的和,且使这些自然数的乘积最
大 */
#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
void taixin(int n){
int a[100];//
临时数组,保存分解后的数
int k = 1;//a
数组的索引
int sum = 1;//
最大乘积
int i;//
索引
if (n 5){//
如果小于
5,那么都是乘积是
1*n
;
sum = n;
}
else{
a[1] = 2;
n -= 2;
while (n a[k]){
k++;
a[k] = a[k - 1] + 1;
n = n - a[k];
}
if (n == a[k]){
a[k]++;
n--;
}// 让最后一个先加 1,其实算上后面的是加了 2
for (i = 0; i n; i++){
a[k - i]++;
}
for (i = 1; i = k; i++){
sum *= a[i];
}
printf( 分解后的数 :);
for (i = 1; i =k; i++){
printf(%d ,a[i]);
}
}
printf(\n 最大的成绩 : %d, sum);
getchar();
}
void main(){
int n;
char str[50];
sprintf(str,%s, 请输入一个正整数 :);
printf(str);
scanf(%d,n);
taixin(n);
getchar();
return 0;
}
您可能关注的文档
- 蜂鸟阅读答案.docx
- 蜜蜂教案(3篇)完整版.docx
- 蝉的音乐阅读训练及答案.docx
- 血液净化室管理制度(9-7修改稿JCI版)课件.doc.docx
- 血管的三维重建_图文资料.docx
- 血糖高一日三餐表.docx
- 行业集团客户营销策略电信行业.doc.docx
- 行政主管个人工作总结员工个人工作总结.doc.docx
- 行政人事工作总结8篇完整版.docx
- 行政后勤工作总结12篇版.docx
- 期末复习课件++专题7+阿基米德原理++2023-2024学年人教版八年级物理下册.pptx
- 4-1电磁振荡(教学课件)高中物理人教版选择性必修第二册.pptx
- 本包含页空白页.pdf
- 【会计实操经验】财务操纵的知识框架.pdf
- 英国b2c电商网站ocado市场前景及投资研究报告-培训课件外文版2024.6,拼多多,阿里巴巴,1688,temu,tiktok.pdf
- 印尼在线约会行业市场前景及投资研究报告-培训课件外文版2024.6,微信,tiktok.pdf
- 印尼物联网IOT行业市场前景及投资研究报告-培训课件外文版2024.5.pdf
- 印尼斋月消费情况分析报告-培训课件外文版2024.6.pdf
- 英国GDP分析报告-培训课件外文版2024.6.pdf
- 印尼铁路行业市场前景及投资研究报告-培训课件外文版2024.6,援建高铁.pdf
文档评论(0)