Created
February 24, 2021 19:43
-
-
Save EvilBeaver/11c252f13199afca45c350442bd6dcfb to your computer and use it in GitHub Desktop.
Тесты производительности Решето Эратосфена
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Н = 50000000; | |
Массив = Новый Массив(); | |
Массив.Добавить(Ложь); | |
Массив.Добавить(Ложь); | |
Для индекс = 2 По Н Цикл | |
Массив.Добавить(Истина); | |
КонецЦикла; | |
времяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); | |
Для индекс = 2 По Н Цикл | |
Если Массив[индекс] Тогда | |
квадрат = индекс * индекс; | |
Если квадрат <= Н Тогда | |
м = квадрат; | |
Пока м <= Н Цикл | |
Массив[м] = Ложь; | |
м = м + индекс; | |
КонецЦикла; | |
КонецЕсли; | |
КонецЕсли; | |
КонецЦикла; | |
времяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); | |
Сообщить("" + (времяОкончания - времяНачала)/1000); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
метод Скрипт() | |
знч Н = 5000000 | |
пер Массив = новый Массив() | |
Массив.Добавить(Ложь) | |
Массив.Добавить(Ложь) | |
для индекс = 2 по Н | |
Массив.Добавить(Истина) | |
; | |
знч времяНачала = ДатаВремя.Сейчас() | |
для индекс = 2 по Н | |
если Массив[индекс] | |
пер квадрат = индекс*индекс | |
если квадрат <= Н | |
пер м = квадрат | |
пока м <= Н | |
Массив[м] = Ложь | |
м += индекс | |
; | |
; | |
; | |
; | |
знч времяОкончания = ДатаВремя.Сейчас() | |
знч мсЦикла = (времяОкончания - времяНачала).ВМиллисекундах() | |
Консоль.Записать("" + (мсЦикла/1000)) | |
; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Но пишем код мы обычно не в одну строчку.