判断一个大于2的正整数n是否为素数的方法有多种,给出两种算法,说明其中一种算法更好的理由
问题解答:
#include<stdio.h>
#include<math.h>
bool isProme1(int n)
{
for(int i=2;i<n;i++)
if(n%i==0)
return false;
return true;
}
bool isPrime2(int n)
{
for(int i=2;i<sqrt(n);i++;
if(n%i==0)
return false;
return true;
}
void main(){
int n=5;
printf("%d %d\n",isPrime1(n),isPrime2(n));
}
方法1的时间复杂度是O(n)方法二的时间复杂度是O(n^(1/2)),所以方法2更好