в смысле считать 1 в бите показателем простого числа, а 0 нет, а потом по номеру бита в массиве определять число?
Честно говоря, с битовыми массивами не работал и насколько сложно реализовать это будет не представляю, но идея передачи этой решетки в виде картинки (bitmap) достаточно интересна))
Насколько я понимаю суть этих методов одинакова, только подход с разных сторон. И поэтому получается что решето Эратосфена должно потреблять гораздо больше памяти т.к. требует предварительного массива всех чисел меньше максимального искомого.
Т.е. для того что бы найти все простые числа до 1 000 000 нам необходим массив из 999 999 чисел от 2 до 1 000 000, а в случае делимости чисел массив будет состоять только из простых чисел
Или есть какая-то реализация решета не пожирающая память?
Ну к примеру завести список, в который записывать все найденные простые числа. А условие цикла заменить на:
for (int i=2; i<List.Length; i++)
{
if (number%List[i] == 0)
{
{
return 0;
}
if ((i==number) || (i>sqrt(number)))
{
return 1;
}
}
Синтаксис правда больше на C# похож, но суть вроде передает. List это список, и осталось только вставить добавление очередного простого числа. Это уже по вкусу или перед return или уже при использовании функций
Впринципе можно еще вести список простых чисел и делимость проверять по ним. Так как если число не делится ни на одно простое число, то оно так же является простым.
Это особенно ускорит алгоритм при больших числах т.к. будут пропускаться все большие массивы чисел
Ну и что тут такого? Я создал этот топик как раз для того что бы узнать некоторые вещи которые мне непонятны. Про BSD по наслышке да из серии статей про FreeBSD (Сага о FreeBSD), но глубоко систему не изучал.
А
>Я вообще слабо представляю его применение
относится к Debian GNU\kFreeBSD ибо мне не приходит в голову такого применения системы в котором он бедет значительно лучше чем FreeBSD или Linux. А если ты такой эксперт то ответь
Вот этого не знал… Я считал что они прокачали систему совместимости с Linux (не знаю как ее правильно назвать). Насколько я знаю в BSD есть какой-то способ запуска Linux-программ
Не совсем вас понял. Они ведь сделали совершенно противоположное: портировали ядро для работы с софтом, так что это никак не скажется на запускаемости GNU софта в FreeBSD. Или я ошибаюсь?
Я понимаю что kFreeBSD не для десктопа пишется. Я имел в виду какие-то отличия именно при использовании. К примеру в BSD легче настраивается роутинг, а в Linux больше различных плюшек. Ну или как-то так(Данный пример может не иметь никакой связи с реальностью ибо BSD не изучал). Естественно архитектура ядер в корне отличается, но функционально ведь они выполняют примерно одинаковые функции, только по-разному. Вот и интересно чем так отличаются, что даже проект по переносу ядер создали.
В тексте топика ссылка — там обсуждение «Что ставить?», там и выбиралось…
Правда об Arch'е первым заикнулся я, в плане нетребовательности его к ресурсам
Собственно я ставил его в рассчете еще изучить Linux изнутри, но теперь понял что это не поможет))
Вопрос тогда такой что будет удобнее Debian или Ubuntu Server?
uTorrent для Linux существует только как консольное приложение с WebUI. К тому же насколько я знаю он наиболее полно использует канал при загрузке. А если они сдержат обещания по расширению функционала то ему вообще цены не будет (к сожалению не нашел где эта новость была, если не ошибаюсь то на Хабре)
Похоже будет много подобных решений или док. станций для установки…
Честно говоря, с битовыми массивами не работал и насколько сложно реализовать это будет не представляю, но идея передачи этой решетки в виде картинки (bitmap) достаточно интересна))
Т.е. для того что бы найти все простые числа до 1 000 000 нам необходим массив из 999 999 чисел от 2 до 1 000 000, а в случае делимости чисел массив будет состоять только из простых чисел
Или есть какая-то реализация решета не пожирающая память?
Синтаксис правда больше на C# похож, но суть вроде передает. List это список, и осталось только вставить добавление очередного простого числа. Это уже по вкусу или перед return или уже при использовании функций
Это особенно ускорит алгоритм при больших числах т.к. будут пропускаться все большие массивы чисел
А
относится к Debian GNU\kFreeBSD ибо мне не приходит в голову такого применения системы в котором он бедет значительно лучше чем FreeBSD или Linux. А если ты такой эксперт то ответь
особенно если учесть что материал трудно усваивается даже на родном
Правда об Arch'е первым заикнулся я, в плане нетребовательности его к ресурсам
Я хочу основные действия с сервером под нее заточить
Вопрос тогда такой что будет удобнее Debian или Ubuntu Server?
P.S. Дебиан сильно требователен к машине?