判断一个数是不是素数
素数又称质数,是指除了 1 和它本身以外,不能被任何整数整除的数
素数判断两种思路
1、2~n-1之间的数都不能被n整除
2、m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ m的算术平方根 之间的每一个整数去除就行
代码1
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n); //输入一个整数
for(i=2;i<n;i++)
{
j=n%i;
if(j==0)
break;
}
if(i>=n) //这里的i>=n我也不清楚。。。。
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}
代码2
#include<stdio.h>
int isprime(int n);
int main()
{
int n,sign;
scanf("%d",&n);
if(isprime(n)) //这里的if(isprime(n))很关键
{
printf("%d是素数\n",n);
}
else
{
printf("%d不是素数\n",n);
}
return 0;
}
int isprime(int n)
{
int i,sign=1;
if(n<2)
{sign=0;}
for(i=2;i<=n-1;i++)
{
if(n%i==0)
{sign=0;}
}
return sign;
}
//sign=0不是素数;sign=1是素数