C语言:打印100-200之间的素数–试除法
//C语言:打印100-200之间的素数--试除法
#include <stdio.h>
int main()
{
int i,j;
int count = 0;
for (i = 100; i <= 200; i++)
{
//判断i是否为素数
//1.试除法 产生2-(i-1)的数。
for (j = 2; j < i; j++)
{
if (i%j==0)
{
break;
}
}
if (j == i)
{
printf("%d ", i);
count++;
}
}
printf("\n共%d个\n",count);
return 0;
}
改进1:
//C语言:打印100到200之间的素数--改进:减少试除此数
#include<stdio.h>
#include<math.h>
int main()
{
int i;
int j;
for (i = 100; i <= 200; i++)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
if (j > sqrt(i))
{
printf("%d ", i);
}
}
return 0;
}
改进思路2:100-200之间偶数不是素数,直接奇数递加2
//C语言:打印100到200之间的素数--改进:减少试除此数
#include<stdio.h>
#include<math.h>
int main()
{
int i;
int j;
for (i = 101; i <= 200; i+=2)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
if (j > sqrt(i))
{
printf("%d ", i);
}
}
return 0;
}