【输出指定个数及范围(快速)质数】2022-1-27

缘由c++数素数,请输出 PM到PN的所有素数-编程语言-CSDN问答

	int PM = 5, PN = 27, g = 0, q = 1, s = 2, h = 0;
	//std::cin >> PN >> PN;
	for (; PN > g;)
	if (++q <= s / q)
	if (s - s / q*q == 0)
	{
		++s;
		q = 1;
	}
	else;
	else
	{
		if (++g >= PM)
			std::cout << s << (++h % 10 == 0 || g == PN ? "\n" : " ");
		++s;
		q = 1;
	}

优化 

	int PM = 5, PN = 27, g = 0, q = 2, s = 2, h = 0;
	//std::cin >> PN >> PN;
	for (; PN > g;)
		if (q <= s / q)
			if (s - s / q*q == 0)
			{
				s += (s > 2 ? 2 : 1);
				q = (s > 2 ? 3 : 2);
			}
			else q += (s > 2 ? 2 : 1);
		else
		{
			if (++g >= PM)
				std::cout << s << (++h % 10 == 0 || g == PN ? "\n" : " ");
			s += (s > 2 ? 2 : 1);
			q = (s > 2 ? 3 : 2);
		}

缘由c语言找区间的素数,简单运用-编程语言-CSDN问答

	int PM = 5, PN = 27, g = 0, q = 2, s = 2, h = 0;
	scanf_s("%d%d", &s, &PN);
	for (; PN > s;)
		if (q <= s / q)
			if (s - s / q*q == 0)
			{
				s += (s > 2 && s - s / 2 * 2 > 0 ? 2 : 1);
				q = (s > 2 ? 3 : 2);
			}
			else q += (s > 2 ? 2 : 1);
		else
		{
			printf_s("%d", s);
			printf_s(++h % 10 == 0 || s == PN ? "\n" : " ");
			s += (s > 2 && s - s / 2 * 2 > 0 ? 2 : 1);
			q = (s > 2 ? 3 : 2);
		}

验证题主代码问题

	int i = 1, j = 2;
	while (++i < 10)
	{
		while (j<sqrt(i))
		{
			if (i % j == 0)
				break;
			++j;
		}
		cout << i << "=" << (j > sqrt(i)) << "\t"; 
	}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值