Alexander
Но этот алгоритм и не для 20 сделан. А для миллиона, например, или ещё какого-то дохулиарда.
Vladislav
ага, я кажись понел. Но не понел второй цикл
Дима
Ты писал проверку на простоту без решета?
Igor
Значит ничего не понял:)
Да ладно в классическом решете нет этой оптимизации поэтому зря вы наезжаете
Дима
всм?
Ну чтобы саму суть понимать, как мы понимаем что число простое
Alexander
Да ладно в классическом решете нет этой оптимизации поэтому зря вы наезжаете
Не наезжаем. Предлагаем расписать - руками точно дойдет быстрее, чем простыню сейчас здесь печатать.
Дима
всм?
Иди на емах, попробуй там почитать
Дима
И вернись к коду ещё раз
Igor
for (int i = 2; i*i < N; ++i) if (mas[i] == 0) for (int k = i; k < N; k += i) mas[k] = 1; Это классическое решето. Если подумать то k можно анчинать с i*i
Дима
Так это ж тоже самое🤔
Alexander
Для питона есть питонтьютор - там визуализировать удобно. А вот для Си я не знаю такого.
Alexander
Так это ж тоже самое🤔
Нет, там к начинается с и.
Дима
for (int i = 2; i*i < N; ++i) if (mas[i] == 0) for (int k = i; k < N; k += i) mas[k] = 1; Это классическое решето. Если подумать то k можно анчинать с i*i
Эх, проотцы говорили что лучше вместо i*i<N писать меньше корня дабы не было переполнения...
Дима
Игорь написал по сути так, как на листочке пишешь когда пытаешься понять
Дима
И судя по всему это и есть классика
Дима
Справедливо, понять так легче
Igor
всм?
тебе классическое решето понятно? не понятно почему можно начинать с k= i*i?
Дима
Для питона есть питонтьютор - там визуализировать удобно. А вот для Си я не знаю такого.
Нужно просто реально рукой написать, без кода без ничего пару итерации
Дима
тебе классическое решето понятно? не понятно почему можно начинать с k= i*i?
Я потому и спросил писал ли он обычную проверку на простоту
Максим
Хей
Дима
Если писал то понимает если не писал то вряд ли
Igor
Если писал то понимает если не писал то вряд ли
такими понятно не понятно вы только отпугиваете человека признать если ему не ясно. Некоторые боятся показаться глупыми. А тупим мы все иногда.
Дима
такими понятно не понятно вы только отпугиваете человека признать если ему не ясно. Некоторые боятся показаться глупыми. А тупим мы все иногда.
Та я могу сразу ответ написать, простые делители числа не больше его корня. Поэтому нам нет необходимости проверять числа большие корня, делится ли на них наше число. Человек прочитает и мб полезно будет
Дима
Я стараюсь не токсикоманить, чэсна
Дима
Я думаю надо сперва разобраться с классикой, судя по всему вопросы с ней тоже есть
Igor
14 = 7*2 7 - простой делитель числа но он больше корня
Alexander
О! на питонтьюторе оказывается есть визуализатор для Си http://pythontutor.com/visualize.html#mode=edit
Дима
Тут есть подвох: всю жизнь проверял до корня, ни разу не ошибался
Дима
А я знаю почему
Дима
Все верно: нам до семи и не надо идти, алгоритм закончится на числе два
Vladislav
мб не просто простой делитель, а наименьший простой?
Дима
Просто я неправильно выразился
Дима
Если не нашли делителя до корня то можно выходить- число простое
Дима
Так точно верно будет
Дима
Потому что даже если у него будет делитель больше корня, частое от деления меньше корня было бы
Igor
Потому что даже если у него будет делитель больше корня, частое от деления меньше корня было бы
Я смайл потому и поставил что идея правильная. Формулировка чисто математически не верная. Да если есть простой делитель больше корня то будет и меньше
Vladislav
я поняяяяял
Дима
Да, понимаю
Vladislav
УРААА
Дима
УРААА
Отлично!!!
Alexander
УРААА
👍 мы не сомневались
Vladislav
хотя визуализация не помогла
Andrii
А кто?))
Client. Смысловое отличие Customer больше в том, что может права качать: пуговицы перламутровые и т. п.
Alexander
хотя визуализация не помогла
У тебя первое непростое число - это 4, что есть 2*2, далее от 4 идём с шагом 2 до самого конца массива. Следующая итерация - с 9 с шагом 3. И т.д.
Vladislav
хотя смысл if не понятен до сих пор)
Сергей
Парни, есть вот норм документация на русском или репозиторий с примерами работы с djoser?
Alexander
хотя смысл if не понятен до сих пор)
Перепрыгивает через уже заполненные числа.
Alexander
Перепрыгивает через уже заполненные числа.
Т.е. если ты уже с помощью 2 заполнил весь массив, и теперь очередь 4 - утебя уже все ячейки заполнены. Зачем по ним ещё раз проходить?
Alexander
Т.е. если ты уже с помощью 2 заполнил весь массив, и теперь очередь 4 - утебя уже все ячейки заполнены. Зачем по ним ещё раз проходить?
Если у тебя ячейка с этим числом заполнена, то и все ячейки кратные этому числу уже тоже заполнены.
Alexander
хххх-хх-хх хх:хх:хх.х+хх:хх
Vladislav
хух, спасибки кнч всем кто помог. Пойду отдохну)
Alexander
Кривая регулярка: можно написать 9999-99-99 99:99:99.9+99:99 Иди переделывай 😂
Alexander
https://t.me/mathfromzero
Сидредин
https://t.me/mathfromzero
Спасибо огромное!)
Сидредин
"подруга просит"
Alexander
Не знаю. Случайно наткнулся на канал.
Igor
Я вот от этого фанатею уже несколько лет :) https://www.youtube.com/watch?v=mqAf5lOJZew