@Di_Brain

Как оптимизировать данный код?

Вот сам код:
#include <iostream>
using namespace std;
 
 
int main() {
    long long x, y, s = 0, max = 0, i1 = 0;
    int r;
    cin >> r;
    for (int i = 1; i <= r; ++i) {
        s = 0;
        for (x = -i - 1; x <= i; ++x)
            for (y = -i - 1; y <= i; ++y)
                if (x*x + y * y == i * i) ++s;
        if (max < s) { max = s;  i1 = i; }
    }
    cout << i1;
    return 0;
}


При попытке сдать задачу выдает TL, можно ли как-то ускорить код, заменить циклы for или сократить их количество?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
Можно отсечь почти все отрицательные х и у, можно вообще убрать перебор по i, можно наполовину сократить перебор по у

какой из вариантов вам кажется интереснее?
(имхо, достаточно будет избавиться от перебора по i)
и опубликуйте условие на всякий случай
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы