Как можно увеличить быстродействие этого кода на C++
Решал задачу на нахождение чисел с нечетным делителем, столкнулся с проблемой, она заключается в том, что не хватает времени, как можно ускорить этот код?
#include <iostream>
#include <cmath>
int main() {
int left, right; // отрезок на котором нужно найти эти числа
std::cin >> left >> right;
int counter;
int pos = 1;
for (int i = left; i <= right; i++) {
counter = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) counter++;
}
if (counter % 2 == 1) {
std::cout << pos << " " << i << " " << counter << " " << sqrt(i) << '\n';
pos++;
}
}
return 0;
}
Источник: Stack Overflow на русском