rt,本想出一道关于开根的题手打。以为cmath里面的sqrt是二分的会被卡爆,便顺便测试了一下
程序如下:
#include<bits/stdc++.h>
using namespace std;
double x,y,z;
double a;
const double b=688094097;
long long k;
int main()
{
x=clock();
for(int i=0;i<1e9;i++) k++;
y=clock();
for(int i=0;i<1e9;i++) a=sqrt(b);
z=clock();
cout<<"O(1)所用时间:"<<y/1000-x/1000<<"s"<<endl;
cout<<"O(sqrt)所用时间:"<<z/1000-y/1000<<"s"<<endl;
return 0;
}
于是就有了测试结果
az,为啥sqrt比O(1)还快三倍,本蒟蒻百思不得其解,然后看了篇文章
求sqrt到底使用了什么算法啊