• Лучший способ обучения?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Этот вопрос я задаю вам.
    Хорошо, что сказали! :)

    По теме (кратко, но доходчиво):
    ©2016
    1. Обучиться - значит уметь применять.
    2. Уметь применять - значит понимать.
    3. Понимать - уметь научить.
    ©2016
    Ответ написан
  • Лучший способ обучения?

    @AlikDex
    Как и во всем. Лучший способ это практика. То что ты там что-то пишешь вылетит из головы через неделю. А вот то, что ты закодил единожды и самостоятельно - останется с тобой на годы.
    Ответ написан
    5 комментариев
  • По чём выучить C#?

    Vestail
    @Vestail
    Software Engineer
    Ответ написан
    Комментировать
  • Проблема с пониманием алгоритма нахождения простых чисел?

    @Alexander1705
    1. Что-то вроде доказательства от обратного: сначала предполагаем, что число простое isPrime = true; А если находится число, деление на которое происходит нацело, то есть остаток от деления равен нулю if((i%j) == 0), тогда доказано обратное, данное число составное: isPrime = false;

    2. Для того, чтоб не делать лишних итераций, если есть число N, то достаточно проверить только его делители от 2 до √N.

    P.S. Если, поставить i < 100, то в проверку пойдёт и само число, а так как число нацело делится само на себя, остаток будет 0 и условие сработает неправильно. Внутренний цикл перебирает делители числа, а для числа N, они находятся в диапазоне [1, N], однако так как и простые числа делятся на 1 и на самих себя, проверять нужно только диапазон (1, N).
    Все делители больше чем √N дают в результате деления целые числа меньше чем √N, а так как меньшие числа мы уже перебрали, в проверке бо ́льших нет смысла. Условие j<(i/j) как раз обеспечит перебор целых чисел в диапазоне [2, √N].

    Можно также добавить небольшую оптимизацию:
    for (j=2; j<(i/j); j++) {
            if((i%j) == 0) {
                    isPrime = false;
                    break;
            }
          }

    Если нашли один делитель, этого достаточно. Перебирать остальные не обязательно.
    Ответ написан
    3 комментария