判断一个数是否为素数
判断一个数是否为素数的两种思想方法
第一种代码思想:
思想如果一个数除了1和本身外不能被其他数整数,那么这个数为素数。
下面展示一下代码和输出结果。
// #include<stdio.h>
int main(void)
{
int a,b;
printf("请输入一个数:");
scanf("%d",&a);
if(a<=1)
printf("%d不是素数",a);
else if(a==2)
printf("%d是素数",a);
else
{
for(b=2;b<a;b++)
{
if(a%b==0)
{
printf("%d不是素数",a);
return 0;
}
}
printf("%d是素数",a);
}
return 0;
}
请输入一个数:3
3是素数
第二种代码思想:
判断一个数是否为素数,其根本就是看该数能不能被1和本身以外的数整除,值得注意的是,能够被该数整除的数存在于该数平方根的之前或之后,若平方根之前有,则之后也有,否则,无;如此,只需要循环判断该数平方根之前及该数的平方根能否被该数整除即可。
#include<stdio.h>
#include<math.h>
int main()
{
int a;
printf("请输入一个整数:");
scanf("%d",&a);
if(a<=1)
printf("不是素数");
else if(a==2)
printf("是素数");
else{
double b=sqrt(a);
for(int i=2;i<=b;i++)
{
if(a%i==0)
{
printf("不是素数");
return 0;
}
}
printf("是素数");
}
return 0;
}
请输入一个整数:3
是素数