|
|
|
@ -1,18 +1,18 @@
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <math.h>//ʹsqrt<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#include <math.h>//使sqrt可以正常运行
|
|
|
|
|
int prime(int n)
|
|
|
|
|
{
|
|
|
|
|
int i ,m = 0;
|
|
|
|
|
if(n==0||n==1)//<EFBFBD>ж<EFBFBD>0<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if(n==0||n==1)//判断0和1的情况
|
|
|
|
|
return 0;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
for (i = 2; i <= sqrt(n); i++)//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>Ϊһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for (i = 2; i <= sqrt(n); i++)//减少循环次数,原理为一个数不可能有比平方根大的因子
|
|
|
|
|
{
|
|
|
|
|
if (n%i == 0)
|
|
|
|
|
{
|
|
|
|
|
m++;//m<EFBFBD><EFBFBD>Ϊ0ʱ˵<EFBFBD><EFBFBD>n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m++;//m不为0时说明n除了1和它本身之外还有别的因子,所以不是素数
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(m==0)
|
|
|
|
@ -30,7 +30,7 @@ int main()
|
|
|
|
|
{
|
|
|
|
|
int num = 0;
|
|
|
|
|
scanf("%d", &num);
|
|
|
|
|
if (prime(num))//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>prime<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (prime(num))//调用prime函数
|
|
|
|
|
{
|
|
|
|
|
printf("Yes");
|
|
|
|
|
}
|
|
|
|
@ -39,3 +39,5 @@ printf("No");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|