#include < iostream > #include < cmath > #include < ctime > #include < vector > #include < numeric > #include < tchar.h > using namespace std; bool IsPrime( const int n) ... { if(n%2==0||n==1)return false; int j=sqrt((double)n); for(int i=3;i<=j;i+=2)...{ if(n%i==0)return false; } return true;} int _tmain( int argc, char * argv[]) ... { clock_t begin,end; begin=clock(); std::vector<int> vec; int num=3; for(int n=1;n!=10000;)...{ if(IsPrime(num))...{ vec.push_back(num); ++n; } num+=2; } std::cout<<accumulate(vec.begin(),vec.end(),2)<<std::endl; end=clock(); std::cout<<end-begin<<"ms"<<std::endl; system("pause"); return 0;} 嗯。。。。稍微优化了一下,速度提升了不少,下面我就没本事再优化下去了。