#2 PascalABC.NET - SCHOOL - Простые числа. Решето Эратосфена

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 135

  • @rate12
    @rate12 3 года назад +4

    Я поставил 10 000 000 в "max", вот результат:
    92.398 seconds. - 1 способ
    0.37 seconds. - 2 способ.
    Спасибо за видеоУрок👍

    • @Д.н.э
      @Д.н.э 2 года назад

      В 2,5 тысяч раз быстрее..

    • @rate12
      @rate12 2 года назад

      @@Д.н.э , ого, вот это оптимизация💪🏻

  • @ПётрШииков
    @ПётрШииков 7 лет назад +1

    Видео клас! Всё понятно и очень подробно разобрано. Не люблю коротких видео только про одну какую-то команду. А это то, что надо!

  • @Paulik11051988
    @Paulik11051988 8 лет назад +4

    всё конечно очень классно, но не для новичков. если целевая аудитория продвинутые пользователи то нет смысла от фраз типа "ну вот тут новенькое for, while." для тех кто тут что-то понял это уже не новенькое)) а если для новичков, то лучше бы на более простых примерах рассматривать. Ну вот я лично как-то попал в ту небольшую нишу, для которой это видео, освежил в памяти некоторые моменты, что то новое узнал, за это спасибо.

  • @pdrizrakprizrak1646
    @pdrizrakprizrak1646 8 лет назад +9

    Классный канал. Спасибо за урок!)

  • @oktawawada2517
    @oktawawada2517 8 лет назад +14

    Если вы полный "чайник", то данные видео не совсем для вас. Приходите сюда, когда достигните определённого начального уровня.

  • @МихаилКурагин-г8м
    @МихаилКурагин-г8м 9 лет назад

    Хороший урок. Скорость вполне подходящая, запускаю видеоурок и параллельно делаю. Успеваю ровно по времени. А с самостоятельным выполнением приходит и понимание :)

  • @betveenlor3501
    @betveenlor3501 9 лет назад +34

    Проговаривай пожалуйста, что значит "boolean" или тому подобные команды которые новые в каждом видео)

    • @YaShoom
      @YaShoom 9 лет назад +2

      Betveen Lor это тип данных, в котором может быть одно из двух значений: False(Ложно) или True(Верно).

    • @blakceyedpeas
      @blakceyedpeas 9 лет назад

      +Шум Шумов Спс

    • @deadbxyxxx
      @deadbxyxxx 6 лет назад +6

      сюда как бы и пришли,что бы учить азы

  • @daniilbugay1017
    @daniilbugay1017 8 лет назад +4

    Очень интересно, спасибо!

  • @Zcashmoney
    @Zcashmoney 3 года назад

    Класс👍 очень хороший канал у вас, удачи!

  • @rorsrark3294
    @rorsrark3294 9 лет назад +1

    Как говорит мой учитель по физике - "Знания берут, а не дают, запомните!" :)

  • @aln9391
    @aln9391 7 лет назад

    Можно было бы подчистить помарочки/заминки и перезаписать пару фрагментов по заранее написанному дикторскому тексту, в этом случае я бы оценил курс как профессиональную работу коллектива. На уровне платного курса. Но даже с этим - оценка отлично.

  • @ОлегДубровин-ы7о
    @ОлегДубровин-ы7о 7 лет назад

    Отличное видео, много нового узнал!

  • @la1ne_82
    @la1ne_82 3 года назад

    Здравствуйте! Когда вы написали trunc (sqrt(i)+1), то можно было написать просто trunc(sqrt(i)). Ещё когда был написан в коде первый вариант , то не выводилось простое число "2".

  • @imantwot
    @imantwot 9 лет назад +1

    Для тех кому нихуя не понятно идите к Эдуарду Мерцкеру, а потом только сюда.
    P.S. Спс за уроки! Узнаю много чего, что не преподают на курсе.

    • @luide2167
      @luide2167 5 лет назад

      Вот я как раз от Эдуарда. Он получше разжёвывает. Без него сразу сюда было бы не подъёмно.

  • @RusPeople21
    @RusPeople21 7 лет назад

    Проверил в паскале (inc - самая быстрая, += чуть дольше, x:=x+1 - самый долгий способ)

  • @НиколайЛемешев-е7р
    @НиколайЛемешев-е7р 7 месяцев назад

    Лучше писать просто trunc(sqrt(i)),при trunc(sqrt(i)+1) не учитывается двойка которая также является простым числом

  • @АлексейНенашев-в1п

    Класс!!! Можно ли графическому объекту присвоить переменную?

  • @lainiwakura2476
    @lainiwakura2476 8 лет назад

    там где цикл с i его надо начинать не с 1, а с 2 и J соответственно с 3 так как 1 не есть простое число (его нужно вообще выключить)

  • @YaShoom
    @YaShoom 9 лет назад

    Объясни, почему когда ты всунул функцию просчёта корня, скорость увеличилась?

  • @александррафальский-я9г

    школа из тебя норм учитель!!!!

  • @lilangdrill1000
    @lilangdrill1000 5 лет назад

    Спасибо за урок !

  • @sevamoiseev9959
    @sevamoiseev9959 10 лет назад +15

    Кстати, 1 это не простое число.

    • @Artem-s4w
      @Artem-s4w 10 лет назад

      в смысле?

    • @sevamoiseev9959
      @sevamoiseev9959 10 лет назад +3

      Артём Анатольевич Простое число - это натуральное (целое положительное) число, имеющее ровно два различных натуральных делителя. Другими словами, число p простое, если оно больше 1 и делится только на 1 и на p. (Википедия)

    • @TheStormingchannel1
      @TheStormingchannel1 10 лет назад +2

      seva moiseev Число 1 не является простым числом простые числа делятся только на 1 и на само себя к примеру 11

    • @RLcuber
      @RLcuber 7 лет назад +1

      как-бы 1 делится только на 1 и на самого себя(1).

    • @RLcuber
      @RLcuber 7 лет назад

      правильно это или нет неважно.

  • @gutelkar3986
    @gutelkar3986 2 года назад

    Где это можно применить?

  • @halifay1668
    @halifay1668 9 лет назад

    Очень классно)) Единственное замечание, что слишком мало объяснений действий. Вот я- новичок в этом деле и мне не понятны выражения типа trunc и т.п.

  • @ishkhanpoghosyan9663
    @ishkhanpoghosyan9663 4 года назад

    можете помочь.
    Можете написать программу без функции без процедуры и без рандома
    Вам дан одномерный массив, содержащий n элементов. Создайте программу, которая печатает наименьший из элементов, предшествующих простому числу.

  • @СофьяКривая-й9п
    @СофьяКривая-й9п 9 лет назад

    слушай а как делать эту скобку в начале первой команды, которая все обьединяет?

  • @ЕркебуланИсабеков-с3ю

    что за тип переменных 'boolean'?

  • @NewPrikol
    @NewPrikol 9 лет назад

    Написал программку с использованием решета Эратосфена, теперь компьютер обрабатывает 50 тысяч чисел за 8 секунд))

  • @tolikbegyn9999
    @tolikbegyn9999 8 лет назад

    ребят у меня проблема, с переменной string. когда она у меня одна все работает, но если у меня из несколько все сбивается(с переменной integer все нормально) и еще один вопрос, подскажите какая переменная работает и с цифрами и буквами

  • @yarusfaiaprointo5203
    @yarusfaiaprointo5203 8 лет назад

    Спасибо тебе огромное!!!!!!!!!!!

  • @Lancyxd
    @Lancyxd 9 лет назад

    Привет. Отличные у тебя уроки просто супер. У меня по этой задаче только вопрос в оформлении. Как спрятать сами числа ? Просто есть и время и числа. Зарание спасибо

  • @andreievseev1710
    @andreievseev1710 10 лет назад

    гонки алгоритмов - это весело

  • @phantomik_gt6600
    @phantomik_gt6600 8 лет назад

    У меня первая строка var Не отмечается, при компиляции создаёт новый проект с begin и end.

  • @2000denis2000
    @2000denis2000 9 лет назад +3

    У меня взорвался мозг!

  • @gameslol1078
    @gameslol1078 8 лет назад +1

    setlenght(m,max+1); выдаёт ошибку, что такой команды не существует
    помогите, может яя и не правельно записал

  • @shark1203-
    @shark1203- 6 лет назад

    Можешь показать как работать с graphabc

  • @ulyanka54
    @ulyanka54 8 лет назад

    Подскажите, пожалуйста , как в последней программе(решето Эратосфена) сделать так, чтобы компьютер выводил все простые числа

    • @МихаилДовлинов
      @МихаилДовлинов 4 года назад

      Инструкция для ЧАЙНИКОВ ( *для тех, кто ещё не закипел* ).
      1. Вам нужно как-то понять, что простых чисел СЛИШКОМ МНОГО ( *а точнее бесконечно* )... подсказка: НЕ ПОЛУЧИТСЯ ЭТОГО СДЕЛАТЬ.
      2. прежде чем задавать вопросы *темы 5 класса* ну хоть *загуглите* сначала чтобы не позориться!

  • @den71291
    @den71291 7 лет назад

    А зачем в первом методе из i вычитать один? Что это нам даёт?

  • @МихаилЛедохович
    @МихаилЛедохович 9 лет назад

    Кстати, скорость вычислений так же зависет от вашего "железа".

  • @nikcardamon8414
    @nikcardamon8414 10 лет назад

    Если делать не до max-1 а до корня из max то время выполнения даже для миллиарада будет секунд 5 ;)

  • @moryk_5
    @moryk_5 8 лет назад

    а вот ты это написал, как сохранить чтобы открывать без этой программы

  • @0Nanaya
    @0Nanaya 8 лет назад +10

    Что-то посмотрела половину, поняла, что ничего не понимаю. Пойду дальше искать где попроще объяснения...

    • @luckykulon
      @luckykulon 7 лет назад +1

      убегать надо от таких "преподавателей", которые ничего подробно и просто не объясняют а занимаются самолюбованием

    • @МихаилДовлинов
      @МихаилДовлинов 4 года назад +2

      @@luckykulon да но в интернете НИЧЕГО бесплатного и по-понятнее *не найдёшь* , так что лучше довольствоваться этим.
      Если вы хотите понять Азы' то идите, напрмер, к *Эдуарду Мецкеру* .

    • @la1ne_82
      @la1ne_82 3 года назад

      @@МихаилДовлинов хотел написать про Эдуарда, а за меня уже всё сделали

  • @Arhimage228
    @Arhimage228 10 лет назад

    в первой у меня было 0,12 секунд, а во второй 0.02.видимо это от процессора зависит

  • @zadrotik04
    @zadrotik04 6 лет назад

    А можно на паскале делать игры

  • @ОлегЛысак-з4ж
    @ОлегЛысак-з4ж 11 лет назад

    Давайте еще урокиии!!!!

  • @soldo7018
    @soldo7018 9 лет назад

    На кого возраста аудиторию рассчитаны данные видео?

  • @василийдмитриев-п3й

    а "1" это простое число?

  • @lebsaq
    @lebsaq 7 лет назад

    Inc работает на 1 миллисекунду быстрее, чем "+=". При 100000 чисел

  • @rus_tvv6763
    @rus_tvv6763 9 лет назад

    у тебя ошибка в первом алгоритме нада просматривать все делители до половины числа оно нацело не делится больше чем на половину

  • @glukmaker
    @glukmaker 3 года назад

    С каких это пор единица стала простым числом?
    Простое число по определению - это число имеющее ровно два делителя (единицу и само себя).
    Составное число имеет больше двух делителей.
    А единица имеет ровно один делитель, поэтому оно не относится ни к простым, ни к составным.
    Что касается алгоритма, где используется решето Эратосфена, при нахождении очередного простого числа i программа в ролике "вычеркивает числа" начиная с 2i, на самом же деле достаточно "вычеркивать" начиная с i*i
    Учитывая что 2 - это первое простое число и к тому же единственное четное из простых, можно немного модифицировать алгоритм, где поиск простых числа будет начинаться с 3. ну т.е. 2 - само собой понятно что простое, в алгоритме же будем вычислять остальные простые числа. При этом необходимое место под массив можно сократить вдвое.
    var
    i,pnum,j,halfmax:integer;
    m:array of boolean;
    begin
    halfmax:=1000 shr 1;
    setlength(m,halfmax+1);
    for i:=0 to halfmax do m[i]:=false; // инициализация массива, не всегда обязательно делать, но желательно
    writeln(2); // двойка - первое простое число
    for i:=1 to halfmax do
    if not m[i] then
    begin
    pnum:=i+i; // Простое число вычисляется как pnum=2*i+1
    inc(pnum);
    // Кто знаком с системой команд процессора - поймет почему лучше писать так
    writeln(pnum); // выводим простое число pnum
    j:=(i+1)*i shl 1; // вычеркивать начинаем с pnum^2, индекс в массиве=(pnum^2-1)/2=((2*i+1)^2-1)/2=(4i^2+4i)/2=(i+1)*i*2
    while j

  • @ВоронковВалентин
    @ВоронковВалентин 2 года назад

    Program1.pas(11) : Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
    как исправить

  • @василийдмитриев-п3й

    простые числа 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,,,

  • @BabinKirill
    @BabinKirill 9 лет назад +75

    Ты, может, и понимаешь-то всё неплохо, но преподаватель из тебя хреновенький...хоть мне и всё понятно, что ты делаешь

    • @dev_ru
      @dev_ru  9 лет назад +9

      Очень жаль, что Вам не подходит мой кана.
      Надеюсь, что Вы найдете именно тот, который Вам нужен.
      Спасибо!

    • @BabinKirill
      @BabinKirill 9 лет назад +17

      Школа программистов Просто, мне показалось, что если бы эти видео смотрел человек, абсолютно несведущий в программировании, то он бы мало что понял :-) Хотя посмотрев другие твои видео, наверное, забираю свои слова обратно. Извиняй. И за получившуюся фамильярность тоже :-)

    • @учениксатаны
      @учениксатаны 9 лет назад +9

      из него не плохой учитель если внимательно слушать и проделавать вместе с ним вы всё поймёте

    • @учениксатаны
      @учениксатаны 9 лет назад +2

      Школа программистов из тебя не плохой учитель

    • @АлексейФилин-й6й
      @АлексейФилин-й6й 9 лет назад +8

      Я первый день изучаю Паскаль и мне все понятно.

  • @армреслерК2018
    @армреслерК2018 7 лет назад

    отлично

  • @technic_and_programming
    @technic_and_programming 5 лет назад +4

    *Ты можешь по-человечески обьяснить?*

  • @MrSharkGamechannel
    @MrSharkGamechannel 10 лет назад

    хотя все правильно сделал

  • @ВладиславШиптенко

    без оптимизации 500000 за 60 секунд,а с оптимизацией 1000000 за 0,812 секунд!!!!!

  • @АльбертМихайлюк
    @АльбертМихайлюк 5 лет назад

    Не очень красивый код: слишком много ненужных Begin-End. А так, если что-то умеешь в Pascal (не новичок), то будет очень полезно.

  • @nibiv5572
    @nibiv5572 6 лет назад

    Найс

  • @ИгорьСухарев-ь5щ
    @ИгорьСухарев-ь5щ 8 лет назад

    Смысла прибавлять к корню единицу нет.

  • @АнтиПресс
    @АнтиПресс 5 лет назад

    Грандиозный алгоритм менять временные циклы. Я слишком стар что бы начинать.

  • @______582
    @______582 8 лет назад +1

    миллион за 0.511 )))

  • @keril_kek
    @keril_kek 8 лет назад

    Попробуйте число 999999 при коде н1

  • @SHADOWPLAYRU
    @SHADOWPLAYRU 7 лет назад +1

    Объяснять надо понятнее а не сразу всё печатать!

  • @Кирилл-с7ь6э
    @Кирилл-с7ь6э 7 лет назад

    хорошо но все таки ты не обьясняешь команды что как и за что они отвечают)

  • @носорогопасен
    @носорогопасен 9 лет назад

    Давай уроки на Си !!!

  • @Что-тонахолоде
    @Что-тонахолоде 3 года назад

    Да очень круто но чтобы понять нужно чтобы автор хоть что-то объяснял а не просто программу писал

  • @учениксатаны
    @учениксатаны 9 лет назад

    1000000000 вот такое чисел за минуты6 справился

  • @gemand3821
    @gemand3821 5 лет назад

    2 тоже простое число а 1 особенное

  • @МаксимАлександров-х8б

    1 не простое число

    • @МаркСкворцов-ь9ш
      @МаркСкворцов-ь9ш 8 лет назад

      На что оно делиться кроме одного и себя ?

    • @МаксимАлександров-х8б
      @МаксимАлександров-х8б 8 лет назад +1

      1 - это ни простое, ни составное число. Простое число - это число, у которого 2 делителя: 1 и оно само, а составное число - это число, у которого 3 и больше делителей. А т.к. у 1 только один делитель, то это ни простое, ни сложное число

  • @Развлечение-м6х
    @Развлечение-м6х 10 лет назад

    еще плиз
    уроки

  • @spaghetti4903
    @spaghetti4903 4 года назад

    Inc(cx) быстрее cx=+1 на .004

    • @spaghetti4903
      @spaghetti4903 4 года назад

      Тест был про 500000 чистал

  • @александррафальский-я9г

    Ха у меня бьет нельзя преобразовывать тип dooelan к Integer

  • @unimaster3828
    @unimaster3828 5 лет назад

    Неполохой бенчмарк. У меня 50000 так-же выводит за 0.5 секунд

  • @arsenybasevich9380
    @arsenybasevich9380 4 года назад

    Единица это не простое число!!!!!!

  • @jasiks2d606
    @jasiks2d606 7 лет назад

    У меня паскаль кукарекает "-Неизвестное имя k"

  • @BWha1e_1337
    @BWha1e_1337 9 лет назад

    У меня 10 млн за 10 сек!

  • @CubeGamesLand
    @CubeGamesLand 10 лет назад

    ЕЩЕЕЕЕЕЕЕ УРОКИ

  • @LoidFrontera
    @LoidFrontera 6 лет назад

    у меня миллисекунд не работает

  • @ПетроПередерий-р1у
    @ПетроПередерий-р1у 3 года назад

    1 - НЕ ПРОСТОЕ!!!

  • @tlekeskendirov3601
    @tlekeskendirov3601 8 лет назад

    [pabcnetc.exe]Старт компиляции сборки Program2.pas...
    [pabcnetc.exe]Начало компиляции Program2.pas...
    1 ошибок
    Встречено 'for', а ожидалось ';'
    [pabcnetc.exe]Компиляция завершена Program2.pas.
    [pabcnetc.exe]Готов
    Помогите!!!!

  • @kosta0082
    @kosta0082 7 лет назад

    пол секунды у меня. Ты там с калькулятора сидишь что ли?))

  • @chenalavdoon2956
    @chenalavdoon2956 10 лет назад

    ещо

  • @VladukeChanell
    @VladukeChanell 10 лет назад

    0.005 сек с 500000

  • @Skeletonhell
    @Skeletonhell 8 лет назад +2

    ничего не понятно хотелось бы с азов

  • @хейхо-э3э
    @хейхо-э3э 8 лет назад

    мой калькулятор 2003 года выпуска обработал быстрее

  • @MrSharkGamechannel
    @MrSharkGamechannel 10 лет назад

    сука у меня ошибка

  • @rus_tvv6763
    @rus_tvv6763 9 лет назад

    извините не досмотрел до конца видео

  • @TiXanJoy228
    @TiXanJoy228 8 лет назад

    Даа ничего не понятно особенно с
    for i :=1 to max do
    begin
    f:= true;
    for j:=2 to i-1 do

    • @МихаилДовлинов
      @МихаилДовлинов 4 года назад

      *For i:= ... to* - Это цикл.
      *i* - Это переменная.
      *max* - Это то, чему вы задавали числовое значение.
      *f:* - Это переменная типа *boolean (Логический тип, который имеет 2 формы: true* и *false* .
      *For j:= ... to* - Это внутренний цикл (который входит в цикл *For i* ).

  • @василийдмитриев-п3й

    а "1" это простое число?

  • @YagorTruhan
    @YagorTruhan 5 лет назад

    1 не простое число