int get_prime(vector& vec, int num){
for(auto i : vec){
if (num%i==0){
return 0;
}
}
return num;
}
void prime(int n){
vector vec;
cout << "prime number found -> 2\n";
int k = 2;
int num = 3;
while(k < n){
auto result = get_prime(vec, num);
if(result != 0){
cout << "prime number found -> " << result << "\n";
vec.push_back(result);
++k;
}
++num;
}
}
int main(int argc, char** argv){
auto t1 = high_resolution_clock::now();
prime(atoi(argv[1]));
auto t2 = high_resolution_clock::now();
cout <<"It costs "<< duration_cast(t2-t1).count() <<" milliseconds" << endl;
return 0;
}
我之后用visual studio的release模式便宜了一下,跑的比乌龟还慢。。。。。。
哪位大神能指点一下?完全搞不懂。。。。。
##################代码部分########################################
#include
#include
#include
using namespace std::chrono;
using namespace std;
int get_prime(vector& vec, int num){
for(auto i : vec){
if (num%i==0){
return 0;
}
}
return num;
}
void prime(int n){
vector vec;
cout << "prime number found -> 2\n";
int k = 2;
int num = 3;
while(k < n){
auto result = get_prime(vec, num);
if(result != 0){
cout << "prime number found -> " << result << "\n";
vec.push_back(result);
++k;
}
++num;
}
}
int main(int argc, char** argv){
auto t1 = high_resolution_clock::now();
prime(atoi(argv[1]));
auto t2 = high_resolution_clock::now();
cout <<"It costs "<< duration_cast(t2-t1).count() <<" milliseconds" << endl;
return 0;
}