收藏 分享(赏)

分别用蛮力法、分治法、减治法实现a的N次方.doc

上传人:精品资料 文档编号:10895401 上传时间:2020-01-18 格式:DOC 页数:2 大小:74KB
下载 相关 举报
分别用蛮力法、分治法、减治法实现a的N次方.doc_第1页
第1页 / 共2页
分别用蛮力法、分治法、减治法实现a的N次方.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1算法设计与分析实验报告一学 号: 姓 名: 日 期: 2012.11.5 得 分: 一、实验内容:分别用蛮力法、分治法、减治法实现 an。二、实验要求:完成试验报告、给出对此结果。为防止大数溢出,可以用 1n来测试在 n比较大是的三种算法运行情况。四、源程序及注释:#include #include using namespace std;/蛮力法求 a的 n次方int Power1(int a,int n) int as=1;for(int i=0;in;i+)ans*=a;return ans;/分治法求 a的 n次方int Power2(int a,int n) int ans=1;i

2、f (n=0) ans=1;else if(n=1) ans=a;elseans=Power2(a,n/2)*Power2(a,(n+1)/2);return ans;/减治法求 a的 n次方int Power3(int a,int n) int ans=1;if (n=0) ans=1;else if(n=1) ans=a;else ans=Power3(a,n/2);if(n%2=0)ans=ans*ans;/当 n为偶数return ans;2int main()int a=1;int n=10000;LARGE_INTEGER start1,end1,start2,end2,start

3、3,end3,f;QueryPerformanceFrequency(QueryPerformanceCounter(int p1=Power1(a,n);QueryPerformanceCounter(QueryPerformanceCounter(int p2=Power2(a,n);QueryPerformanceCounter(QueryPerformanceCounter(int p3=Power3(a,n);QueryPerformanceCounter(cout“a=“a“,n=“nendl;cout“蛮力法求 a的 n次方运行时间(单位:s)及结果“endldouble(end

4、1.QuadPart-start1.QuadPart)/f.QuadPart“ “p1endl;cout“分治法求 a的 n次方运行时间(单位:s)及结果“endldouble(end2.QuadPart-start2.QuadPart)/f.QuadPart“ “p2endl;cout“减治法求 a的 n次方运行时间(单位:s)及结果“endldouble(end3.QuadPart-start3.QuadPart)/f.QuadPart“ “p3endl;return 0;五、运行输出结果:六、调试和运行程序过程中产生的问题、采取的措施及获得的相关经验教训:合适的代码是实验能够成功进行的关键,当然前提是对问题的深刻理解,从实验结果我们不难看出,应用减治法处理问题的效率还是很高的。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报