2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 46  След.
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 10:05 
Заслуженный участник
Аватара пользователя


13/08/08
14451
Ещё кое-что. Если заблуждаюсь, то программисты поправят.
Все эти решётообразные алгоритмы должны полностью закончить работу перед выдачей хотя бы одного числа. Для миллиарда это секунда. Даже при линейной зависимости для стозначного числа это больше года работы суперкомпьютера.

Насчёт Википедии не знаю, а вот защититься вполне можно.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 10:06 
Аватара пользователя


07/07/09
346
Минск
Да суть, суть. Я ведь говорю, что не занимался я никогда математикой. Просто сам додумал уже то, что сказано было. А там намного все интересней, чем эти числа. И куда маштаб побольше.

Цитата:
Если нужно, вечером напишу подробнее.

Если можете. Мне сейчас вся информация нужна. Помогите уж. Я ведь как и обещал выложил все.

-- Вт сен 01, 2009 10:08:36 --

gris в сообщении #239547 писал(а):
Ещё кое-что.

Насчёт Википедии не знаю, а вот защититься вполне можно.

Дарю всем, кто на этом форуме мне помогал.

-- Вт сен 01, 2009 10:50:24 --

Ну не молчите. У меня кроме вас и нет никого.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 11:06 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
gris в сообщении #239547 писал(а):
Все эти решётообразные алгоритмы должны полностью закончить работу перед выдачей хотя бы одного числа. Для миллиарда это секунда. Даже при линейной зависимости для стозначного числа это больше года работы суперкомпьютера.

Именно поэтому никто не использует решета для поиска больших простых чисел. Там совершенно другие алгоритмы.
gris в сообщении #239547 писал(а):
Насчёт Википедии не знаю, а вот защититься вполне можно.

"Защищайтесь, сэр!" И не говорите ерунды.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 11:14 
Аватара пользователя


07/07/09
346
Минск
Блин, ну скиньте программу для больших чисел, в которой вы работали.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 11:26 
Заслуженный участник
Аватара пользователя


13/08/08
14451
Бодигрим писал(а):
И не говорите ерунды.


Согласен. Каюсь. Учебный год начался, сейчас потянутся школьники и первокурсники, а тут такое флудилово. Может перенести дискуссию в компьютерный раздел? Или в Гуманный (С).
Да и чего ещё дискутировать-то...

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 11:52 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
SerjeyMinsk в сообщении #239561 писал(а):
Блин, ну скиньте программу для больших чисел, в которой вы работали.

Вот пример вычислений: post53719.html#p53719

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 12:26 
Аватара пользователя


07/07/09
346
Минск
Суки правят беспредел. Не один я поседел. М.Круг.

-- Вт сен 01, 2009 12:27:25 --

Бодигрим в сообщении #239569 писал(а):
SerjeyMinsk в сообщении #239561 писал(а):
Блин, ну скиньте программу для больших чисел, в которой вы работали.

Вот пример вычислений: post53719.html#p53719

В чем конкретно ты вычислял? Можешь программу скинуть?

-- Вт сен 01, 2009 12:32:19 --

gris в сообщении #239565 писал(а):
Бодигрим писал(а):
И не говорите ерунды.


Согласен. Каюсь. Учебный год начался, сейчас потянутся школьники и первокурсники, а тут такое флудилово. Может перенести дискуссию в компьютерный раздел? Или в Гуманный (С).
Да и чего ещё дискутировать-то...

Ты это называешь флудиловом?
Ну так покажи тогда любой аналог этого метода.

Реально достали. Ну хоть какое-то уважение у вас есть?

-- Вт сен 01, 2009 12:38:42 --

На основе именно этого могу сделать факторизацию за секунды.
Ученые, епт.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 14:19 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
 !  SerjeyMinsk,

Ваши манеры граничат с хамством.
Предупреждаю, что подобное поведение на форуме повлечёт бан.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 14:58 
Заслуженный участник


04/05/09
4582
SerjeyMinsk, вам вроде понятно сказали, что ваш алгоритм - обычное решето Эратосфена, причём хуже, чем его обычно делают.
Т.е. абсолютно ничего нового.
Вот оптимизированный код, но он использует расширения GNU паскаля (LongWord - 8-ми байтовый беззнаковый), так что для своего компилятора подгоняйте сами.
Я ещё добавил возможность задавать n в командной строке, вывод чисел на экран только если в командной строке есть два аргумента, иначе вывод занимает больше времени, чем поиск.
Код:
Program abube;
var
   flag  : array[0..99999999] of boolean;
   n,k,i : Word;
   n2    : LongWord;
   size  : Word;
   count : Word;
   err   : Integer;
begin
   if ParamCount >= 1 then
   begin
      Val(ParamStr(1), n, err);
   end
   else
   begin
      writeln('Vvedite ne4etnoe 4islo');
      readln(n);
   end;
   if n mod 2 = 0 then
   begin
      writeln('Prosil zhe ne4etnoe!');
      n:=n+1;
      writeln('Budet ',n);
   end;

   n2 := LongWord(n)*n;
   size := 2*n-3;
   flag[0]:=false;
   for i:=1 to size do
      flag[i]:=true;
   
   k:=3;
   while k<n do
   begin
      i:=LongWord(n)*(n-k) div 2 mod k;
      while i <= size do
      begin
         flag[i]:=false;
         inc(i,k);
      end;
      inc(k, 2);
   end;

   count := 0;
   if ParamCount >= 2 then
   begin
      for i:=0 to size do
         if flag[size-i] then
         begin
            inc(count);
            write(n2-size*2+i*2);
            if count mod 10 = 0 then
               writeln
            else
               write(' ');
         end;
      writeln;
   end
   else
   begin
      for i:=0 to size do
         if flag[i] then
            inc(count);
   end;
   writeln('Number of primes from ',n2-4*n+4,' to ',n2,' - ',count);
end.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 15:13 
Аватара пользователя


07/07/09
346
Минск
Спасибо,venco

-- Вт сен 01, 2009 15:35:01 --

А где скачать, подскажите расширения GNU паскаля

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 16:27 
Заслуженный участник


04/05/09
4582
SerjeyMinsk в сообщении #239608 писал(а):
А где скачать, подскажите расширения GNU паскаля
Скачать надо сам GNU Pascal - http://www.gnu-pascal.de/gpc/h-index.html, а расширения к нему прилагаются. Только я боюсь, вы не сможете самостоятельно его установить, т.к. к нему ещё нужен GCC, да к тому же он в принципе под Unix, на Windows ему нужен CygWin, ну и ещё куча проблем, решаемых, но нужно знать, что делать. Я этим заниматься не хочу.

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 17:41 
Заслуженный участник
Аватара пользователя


09/02/09
2086
Минск, Беларусь
SerjeyMinsk в сообщении #239541 писал(а):
Сделаю факторизацию еше.
Уже есть:
http://bbuhrow.googlepages.com/

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение01.09.2009, 19:33 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
SerjeyMinsk в сообщении #239575 писал(а):
В чем конкретно ты вычислял? Можешь программу скинуть?

Немного не понял ваш вопрос. Вы имеете в виду, какой программой для поиска простых чисел я пользуюсь в обыденной практике? Например, PARI/GP (http://pari.math.u-bordeaux.fr/). Ниже - листинг работы с ней, мои комментарии - в фигурных скобках.
Код:
(19:29) gp > gettime();print(nextprime(10^100));print(gettime());
10000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000267                                  {найденное простое число}
31                                  {затраченное на поиск время в миллисекундах}
(19:29) gp > gettime();print(nextprime(10^200));print(gettime());
10000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000357
157
(19:30) gp > gettime();print(nextprime(10^300));print(gettime());
10000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000331
625

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение02.09.2009, 18:41 


28/08/09
37
Если ваш алгоритм основан на квадратах, то возможно вы изобрели уже изобретенное решето Аткина :)
Если нужна программа генерации больших простых (кол-во до 10 млрд.) решетом Эратосфена, могу выслать. (Не скажу что быстро и оптимально - 2-3 млрд. в день при хорошей машине, требует место на диске около 100 Гб :) для хранения сгенерированных, но сама весит мало). Плюс алгоритм "тупой" факторизации перебором простых делителей (при условии, что простые уже предварительно сгенерированы).

Кинул сюда: sources.codenet.ru/?cid=7 (файл называется Numbers.rar, возможно потребуется регистрация на сайте), а также files.mail.ru/45IWX8, инструкция вложена

 Профиль  
                  
 
 Re: Поиск простых чисел
Сообщение02.09.2009, 19:23 
Аватара пользователя


07/07/09
346
Минск
Спасибо,mrbus, но не надо.
Сделали добрые люди.
Диапазон $[49999999^2, 50000001^2]$,
Assa : 0.3 сек
Эратосфен: 7 сек

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 682 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 46  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group