试除法求出100到200之间的素数

84 阅读1分钟
//试除法判断100到200之间的素数
#include<stdio.h>
int main()
{
	int i,j;
	for(i=100;i<=200;i++)
	{
		for(j=2;j<=i-1;j++)
		{
			if(i%j==0)
			{
				break;
			}
			
		}
		if(j==i)
		{
			printf("%d ",i);
		}
		
	}
	return 0;
 } 

当然我们可以优化

//试除法判断100到200之间的素数
#include<stdio.h>
#include<math.h>
int main()
{
	int i,j;
	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);
		}
		
	}
	return 0;
 } 

还可以!

//试除法判断100到200之间的素数
#include<stdio.h>
#include<math.h>
int main()
{
	int i,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;
 } 

 还可以!偶数不可能是素数吧!!!

//试除法判断100到200之间的素数
#include<stdio.h>
#include<math.h>
int main()
{
	int i,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;
 }