C语言求100-200之间的素数,三种方法

方法一

int main()//试除法
{
	int i = 0;
	int j = 0;
	for (i = 100; i <= 200; i++)
	{
		for (j = 2; j < i; j++)
		{
			if (i%j == 0)
			{
				break;
			}
		}
		if (i == j)
		{
			printf("%d\n", i);
		}
	}
	return 0;
}

方法二

int main()
{
	int i = 0;
	int j = 0;
	for (i = 100; i <= 200; i++)
	{
		for (j = 2; j <= i / 2; j++)//i写成a*b形式,且至少有一个<=n/2,所以查找范围缩小一半
		{
			if (i%j == 0)
			{
				break;
			}
		}
		if (i / 2 < j)
		{
			printf("%d\n", i);
		}
	}
	return 0;
}

方法三

#include<math.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 100; i <= 200; i++)//i写成a*b形式,发现ab中至少有一个数小于等于i开平方
	{
		for (j = 2; j <= sqrt((double)i); j++)//sqrt为开平方函数其参数为double类型,需要强制转换,并引入其头文件<math.h>,
		{
			if (i%j == 0)
			{
				break;
			}
		}
		if (sqrt((double)i) < j)
		{
			printf("%d\n", i);
		}
	}
	return 0;
}

加油鸭~~


版权声明:本文为weixin_45409986原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。