站外题,求助
  • 板块灌水区
  • 楼主Python_enjoy
  • 当前回复10
  • 已保存回复10
  • 发布时间2024/6/8 21:32
  • 上次更新2024/6/8 23:00:23
查看原帖
站外题,求助
938629
Python_enjoy楼主2024/6/8 21:32

求优化

// 区间质数
#include <bits/stdc++.h>
using namespace std;
bool isPrime(unsigned int num) {
	if (num <= 1) 
		return false;
	if (num <= 3) 
		return true;
	if((num%10)%2==0)
		return false;
	if ((num!=2 && num%2==0) || (num!=3 && num%3==0) || (num!=5 && num%5==0) || (num!=7 && num%7==0) || (num!=11 && num%11==0) || (num!=13 && num%13==0) || (num!=17 && num%17==0)) 
		return false;
	for (int i = 5; i * i <= num; i += 6) {
		if (num % i == 0 || num % (i + 2) == 0) 
			return false;
	}
	return true;
}
queue<unsigned int> q;
int main() {
	unsigned int a, b;
	cin >> a >> b;
	unsigned int cnt = 0;
	for (unsigned int i = a; i <= b; i++)
		if (isPrime(i))
		{
			cnt++;
			q.push(i);
		}
	
	cout << cnt << endl;
	while(!q.empty())
	{
		cout<<q.front()<<" ";
		q.pop();
	}
	return 0;
}
2024/6/8 21:32
加载中...