You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
597 B

2 years ago
#include<iostream>
using namespace std;
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵķ<CFB5>Χ
//<2F><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<d<=sqrt(n)<29><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d.
//֤<><D6A4>: <20><><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD>n<EFBFBD><6E>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD><EFBFBD>1<d<n.
//<2F><><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD><EFBFBD>sqrt(n), <20><>n/d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<n/d<=sqrt(n)<29><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//<2F><><EFBFBD><EFBFBD>:
bool isPrime(int n)
{
if(n < 2) return false;
if(n == 2) return true;
if(n % 2 == 0) return false;
for(int i = 3; i*i <= n; i += 2)
if(n%i == 0) return false;
return true;
}
//ʱ<><EFBFBD>Ӷ<EFBFBD>O(sqrt(n)/2), <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>O((n-sqrt(n))/2).
int main()
{
for(int i=0;i<100;i++)
{
if(isPrime(i))
{
cout<<i<<endl;
}
}
return 0;
}