可能重复:
Which is the fastest algorithm to find prime numbers?打印素数小于100
有没有什么办法,使这更优化..
#include <vector>
int main()
{
std::vector<int> primes;
primes.push_back(2);
for(int i=3; i < 100; i++)
{
bool prime=true;
for(int j=0;j<primes.size() && primes[j]*primes[j] <= i;j++)
{
if(i % primes[j] == 0)
{
prime=false;
break;
}
}
if(prime)
{
primes.push_back(i);
cout << i << " ";
}
}
return 0;
}
你可以你的循环i ++在部分变为I + = 2,因为我们知道所有的连号都不会是首要反正 – Akron
你需要添加作业标签? –
已经有很多关于此主题的SO问题。 – mydogisbox