判断素数
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
判断n是否为素数只需用2~(n^1/2)间的数去除就可以了
/*判断一个数是否为素数*/
#include <stdio.h>
#include <math.h>
int main ()
{
printf ("Function : Determine prime number.\n");
int i, num, flag, temp;
printf ("Please input a number\n");
scanf ("%d",&num);
temp = sqrt (num);
for (i = 2;i < temp ; i++ )
{
flag = 0; //判断标识。0为素数,1为非素数
if (num % i == 0)
{
flag = 1;
break;
}
}
if (flag == 1)
printf ("%d is not a prime number.\n",num);
else
printf ("%d is a prime number\n",num);
return 0;
}