资源简介
分别用蛮力法、分治法、减治法求a的n次方,并比较运行时间
代码片段和文件信息
#include
#include
using namespace std;
//蛮力法求a的n次方
int Power1(int aint n)
{
int ans=1;
for(int i=0;i ans*=a;
return ans;
}
//分治法求a的n次方
int Power2(int aint n)
{
int ans=1;
if (n==0) ans=1;
else if(n==1) ans=a;
else
ans=Power2(an/2)*Power2(a(n+1)/2);
return ans;
}
//减治法求a的n次方
int Power3(int aint n)
{
int ans=1;
if (n==0) ans=1;
else if(n==1) ans=a;
else
{
ans=Power3(an/2);
if(n%2==0)
ans=ans*ans;//当n为偶数
else
ans=ans*ans*a;//当n为奇数
}
return ans;
}
int main()
{
int a=1;
int n=10000;
LARGE_INTEGER start1end1start2end2start3end3f;
QueryPerform
- 上一篇:FTP客户端 计算机网络实验
- 下一篇:MFC个人财务管理系统
评论
共有 条评论