新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果一个数是素数,只要判断他是否能被2到这个数的开方之间的数整除就行了。
10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有苍溪免费网站建设让你可以放心的选择与我们合作。
int flag=0;
if(m==2){ //先判断是不是2
flag=1;
}
else{
for(int i=2;i=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素数
flag=0;
break;
}
}
}
return (flag==1)?m:-1; //判断是否为1,为1输出m,否则输出-1 ,-1表示不是素数
如果是求某个范围的素数,可以连续调用这个方法,上面是常规的方法,还有更好的方法自己去查一下。
#include stdio.h
#include math.h
//判断是否为素数的函数
int isPrime(int n)
{
int i=2;
while(i=(int)sqrt(n))
{
if(n%i == 0)
return 0; //不是素数,直接返回0
else
i++;
}
return 1;
}
int main()
{
int n,i;
printf("输入一个正整数: ");
scanf("%d",n);
for(i=2;i=n;i++)
{
if(isPrime(i)) //调用函数,如果该数为素数,则输出
printf("%d ",i);
}
printf("\n");
return 0;
}
示例运行结果:
输入一个正整数: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
#includestdio.h
#includemath.h
int fun(int n)
{ int i;
for(i=2;i=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}void main()
{
int n;
printf("请输入一个数:\n");
scanf("%d",n);
if(fun(n))
printf("该素数是:%d",n);
else
printf("该数不是是素数:\n");
}
#include stdio.h
int fun(int x)//
{
if(x2)
return 0;//返回0,非素数
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素数
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}