天天看点

求1000以内的所有素数(质数)

/*
求1000以内所有素数及素数个数
i<=(int)sqrt(1.0*n)即可 
*/ 
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

bool isPrime(int n)
{
	if(n <= 1)		//最小的素数是2
		return false;
	int sqn = (int)sqrt(1.0*n);
	for(int i=2; i<=sqn; i++)
	{
		if(0 == n%i)
			return false;
	}
	return true;
}

int main()
{
	int cnt = 0;
	for(int i=2; i<=1000; i++)
	{
		if(isPrime(i))
		{
			printf("%-7d",i);
			cnt++;
			
			if(0 == cnt%9)
				putchar(10);
		}
	}
	printf("\n总数为:%d\n", cnt); 
	return 0;
}
           

继续阅读