

code
#include <iostream>
using namespace std;
bool is(int n)
{
if (n < 2) return false;
if (n == 2 || n == 3) return true;
if (n % 2 == 0 || n % 3 == 0) return false;
for (int i = 5; i * i <= n; i += 6)
if (n % i == 0 || n % (i + 2) == 0) return false;
return true;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int A, B;
cin >> A >> B;
for (int i = A; i <= B; i++)
if (is(i)) cout << i << " ";
}
code sao lại bị Time Limit Exceeded ý
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std;
const int N = 1e7;
int a[N + 1];
void sang()
{
fill(a + 1, a + N + 1, 1);
a[0] = a[1] = 0;
for (int i = 2; i <= sqrt(N); i++)
if (a[i] == 1)
for (int j = i * i; j <= N; j = j + i) a[j] = 0;
}
long long x, b;
int main()
{
sang();
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> x >> b;
for (long long i = x; i <= b; i++)
if (a[i] == 1) cout << i << "\n";
return 0;
}
# $\color{black}{\text{le}}$$\color{gray}{\text{duc}}$$\color{darkgray}{\text{trung}}$$\color{white}{\text{anh}}$
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin
5
-60
1
fill là gì ạ
647
2211
1030
fill(a+1,a+N+1,1) là lm cho mảng a có chỉ số từ 1 đến N đề có giá trị là 1 á