您的位置:首页 > 编程语言 > C语言/C++

输出100~200之间的素数

2015-11-26 22:35 731 查看
如果要输出一个素数,首先要判断它是不是素数。大家都知道素数是只能被1和它本身除尽的数,1既不是素数也不是合数,2是最小的素数同时也是唯一一个是偶数的素数,所以要判断一个数是不是素数,我想到了三种方法。

假设这个数为a
法一:让a依次和2到a-1相除,如果a不能被2到a-1之间的任何一个整数整除,则a为素数;
法二:让a依次和2到a/2相除,如果a不能被2到a/2之间的任何一个整数整除,则a为素数;
法三:让a依次和2到sqrt(a)相除,如果a不能被2到sqrt(a)之间的任意一个整数整除,则a为素数;
由于法一效率比较低,就在此不写了。下面我写出了两种方法:
法二:
#include<stdio.h >
int main()//求100到200以内的素数;
{
int i, j,n=0;
for (i = 100; i <= 200; i++)
{
for (j = 2; j <= i / 2; j++)
{
if (i%j == 0)
{
break;
}
}
if (j>i/2)
{
printf("%d ",i);
n = n + 1;
if (n%5==0) printf("\n");
}
}
return 0;
}
法三:
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n=0;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0)
{
break;
}
}
if(j>k)
{
printf("%d  ",i);
n=n+1;
if (n % 5 == 0) printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言   素数