I am not sure how I can improve my algorithms time limit. What are some hints?
#include <bits/stdc++.h>
using namespace std;
long long genPrimes(long long x, long long y) {
vector<long long> primes;
if (x <= 2) {
primes.push_back(2);
for (long long j = 3; j <= y; j++) {
int count = 0;
if (j % 2 == 0) {
continue;
}
for (int i = 0; i < primes.size(); i++) {
if (j % primes[i] == 0) {
count++;
}
}
if (count == 0) {
primes.push_back(j);
}
}
for (int i = 0; i < primes.size(); i++) {
cout << primes[i] << endl;
}
}
else {
for (long long j = 3; j <= y; j++) {
int count = 0;
if (j % 2 == 0) {
continue;
}
for (int i = 0; i < primes.size(); i++) {
if (j % primes[i] == 0) {
count++;
}
}
if (count == 0) {
primes.push_back(j);
}
}
for (int i = 0; i < primes.size(); i++) {
cout << primes[i] << endl;
}
}
return 0;
}
int main() {
int n; cin >> n;
while (n--) {
int x, y; cin >> x >> y;
genPrimes(x, y);
cout << endl;
}
return 0;
}