定义:一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数。
思路一:整数n只要不被2~(n-1)整除,便可以得出n是素数
#include<stdio.h>
int isprime(int n)
{
int i;
if (n == 1)
{
return -1;
}
for (i = 2; i < n; i++) /*利用循环来判断这个数是不是能被1以外的数整除*/
{
if (n%i == 0)
{
return -1;
}
}
return 1;
}
int main()
{
int n = 0;
printf("请输入一个数:");
scanf("%d",&n); /*从键盘读入一个数*/
int set = isprime(n); /*接收函数的返回值*/
if (set > 0)
{
printf("%d是素数\n",n);
}
else
{
printf("%d是不素数\n",n);
}
return 0;
}
思路二:整数n只要不被2~(n/2)整除,便可以得出n是素数。例如 8 能被 2、4整除,8=2*4,2 小于 4,4 等于于 4,以此类推16能被 2、4、8整除,16=2*8,2 小于8,8等于 8,16=4*4,4小于8,因此只需判定在 2~&#