判断素数
素数的定义:
素数又叫质数。素数,指的是“大于1的整数中,只能被1和这个数本身整除的数”。
一、遍历法
int isPrime(int n)
{
int i;
for (i = 2; i < n / 2; i++)
if (n % i == 0)
return 0;
return 1;
}
二、开根法
注意使用开根时要引入math库
#include<math.h>
最好在外面定义好k整型变量,因为sqrt的返回值是浮点型
int isPrime(int n)
{
int k, i;
k = sqrt(n);
for (i = 2; i <= k; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
三、完整代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
//判断是否是素数
int main(void)
{
int isPrime(int);
int num;
printf("enter num:\n");
scanf("%d", &num);
if (isPrime(num))
{
printf("%d is prime\n", num);
}
else
{
printf("%d is not prime\n", num);
}
return 0;
}
int isPrime(int n)
{
int k, i;
k = sqrt(n);
for (i = 2; i <= k; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
//int isPrime(int n)
//{
// int i;
// for (i = 2; i < n / 2; i++)
// if (n % i == 0)
// return 0;
// return 1;
//}