素数又叫质数。素数,指的是“大于1的整数中,只能被1和这个数本身整除的数”。
直接上代码:
#include <stdio.h>
#include <math.h>
#第一种方法 时间复杂度为O(n)
bool prime_one(int n)
{
for(int i = 2; i < n; i++)
if(n%i == 0)
return false;
return true;
}
#第二种方法 时间复杂度为 n的开根号
bool prime_two(int n)
{
for(int i = 2; i <= (int)sqrt(n); i++)
if(n%i == 0)
return false;
return true;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d, %d\n",prime_one(n),prime_two(n));
return 0;
}
相比来说,第二种方法更好。