求100到200之间的素数的几种方法
方法一:范围为2到i-1
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int count = 0;//计数器
for (i = 100; i <= 200; i++)
{
int flag = 1;//是素数
for (j= 2; j <i; j++)// 范围为2到i-1
{
if (i % j == 0)
{
flag = 0;//不是素数
break;//跳出j的for循环
}
}
if (flag==1)//是素数
{
printf("%d \n", i);
count++;
}
}
printf("count=%d\n ", count);
return 0;
}
方法二:范围为2到i/2
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int count = 0;//计数器
for (i = 100; i <= 200; i++)
{
int flag = 1;//是素数
for (j = 2; j <=i/2; j++)// 范围为2到i/2
{
if (i % j == 0)
{
flag = 0;//不是素数
break;//跳出j的for循环
}
}
if (flag == 1)//是素数
{
printf("%d \n", i);
count++;
}
}
printf("count=%d\n ", count);
return 0;
}
方法三:范围为2到根号i(注意调用库函数math.h)
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
int j = 0;
int count = 0;//计数器
for (i = 100; i <= 200; i++)
{
int flag = 1;//是素数
for (j = 2; j <=sqrt(i); j++)// 范围为2到根号i(注意调用库函数math.h)
{
if (i % j == 0)
{
flag = 0;//不是素数
break;//跳出j的for循环
}
}
if (flag == 1)//是素数
{
printf("%d \n", i);
count++;
}
}
printf("count=%d\n ", count);
return 0;
}