#include
#include
intmain()
{
intx,i,j=0,k;
for(x=101;x<=200;x++)
{
for(i=2,k=0;i<=sqrt(x);i++)
if(x%i==0)
{
k++;
break;
}
if(k==0)
{
printf("%d",x);
j++;
}
}
printf("\n100到200之间有%d个素数\n",j);
}
扩展资料
100->200之间的素数的个数,以及所有的素数
#include
#include
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i<=200;i++)
{
for(k=2;k
if(i%k==0)break;
if(k>=i)
a++;
}
printf("%d\n",a);
for(i=101;i<=200;i++)
{
for(k=2;k
if(i%k==0)break;
if(k>=i)
a++;
if(k>=i)
printf("%d",i);
}
printf("\n");
return0;
}
#include
#include
using namespace std;
int main()
{
int num = 0,i=0;
cin>>num;
for(i = 2;i<=sqrt(num);i++)
{
if(num%i==0)
break;
}
if(i>sqrt(num)
cout<
cout<
}
扩展资料
C语言回文素数代码
#include
int main()
{
int i,j;
int m,n,p;
for(i=11;i<1000;i++)
{
if(i>=11&&i<=99)
{
m=i%10;
n=i/10;
}
else
{
m=i/100;
n=i%10;
}
if(m==n)
{
for(j=2;jif(i%j==0)
break;
if(j>=i/2)
{
printf("%d ",i);
}
}
}
return 0;
}
#include
void main()
{
int m,n,flag=1;
printf("请输入要测试的整数:");
scanf("%d",&n);
for(m=2;m<=n/2;m++)
if(n%m==0)
{
flag=0;//设置非素数标志
break;//一旦找到一个m,断定该n非素数,无需验证
}
flag?printf("%d是素数\n",n):printf("%d不是素数\n",n);
}
除了以上方法以外,还可以用空间换时间的方法加快速度。
#include
#define N 100//这里的100是素数上限。即生成素数范围是1~100,可更改此数值
using std::cin;
usint std::cout;
using std::endl;
bool book[N];//用布尔节省空间
int main()
{
bool[1]=true;//true表示不是素数
for(int i=2;i*2<=N;i++)
{
if(bool[i])
continue;
for(int j=i*2;j<=n;j+=i)
bool[j]=false;
}
return 0;
}
代码完毕,十分简短,可以将时间复杂度从O(n^3)降到O(n^2)。唯一的缺点就是比较耗内存
#include
#include
int main()
{
int a;
int isp=1;
printf("请输入需要判断的大于1的正整数:\n");
scanf("%d",&a);
for(int i=2;i
if(a%i==0)
{
isp=0;
break;
}
}
if(isp==1)
printf("%d 是素数\n",a);
else
printf("%d 不是素数\n",a);
return 0;
}