69,369
社区成员
发帖
与我相关
我的任务
分享
int main()
{
int a,i;
scanf("%d",&a);
if (a<3)
{
printf("请输入不小于3的正整数\n");
return (0);
}
int len = (int)sqrt(a)+1;//用平方根
for (i = 2;i<len;i+=2)
{
if(a%i==0) {printf("Not!");return(0);}
}
printf("Yes!");
}
#include <iostream.h>
int main()
{
int n;
cin>>n;
if (n<3)
{
cout<<"请输入不小于3的正整数"<<endl;
}
for (int i=2;i<=n/2;i++)
{
if (0==n%i)
{
cout<<n<<"不是素数"<<endl;
return 0;
}
}
cout<<n<<"是素数"<<endl;
return 0;
}
int main()
{
int a,i;
scanf("%d",&a);
if (a>2&&a%2==0) {printf("Not!");return(0);}
for (i = 3;i<a/2;i+=2){
if(a%i==0) {printf("Not!");return(0);}
}
printf("Yes!");
}
//用筛选法求<=M的素数
bool p[M+1];
void primesiev(int M)
{int i,i2,k,q;
q=sqrt(M);
for(i=0;i<=M;i+=2){ p[i]=0; } //p[i]=0 i非素数
for(i=1;i<=M;i+=2){ p[i]=1; } //p[i]=1 i是素数
p[2]=1;p[1]=0;
for(i=3;i<=q;i+=2)
{ if(p[i]==1)
{i2=i+i; k=i2+i;
while(k<=M)
{p[k]=0;k+=i2;}
}
}
}
这用筛法求小于M的素数,可以先预先把素数找好,在查表。。。。