求优化
// 区间质数
#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;
}