Александров Георгий Минькович, 1950 г.р., женат. Адрес: Москва, Б.Коптевский проезд, д.12, к,1, кв.22 Телефон: 8 916 442 97 95 e-mail: renuar911@yandex.ru |
||||
|
||||
Формализованный метод получения простых чисел | ||||
|
||||
2 тысячи лет назад было изобретено решето Эратосфена. Оно в принципе легко реализуется при помощи ЭВМ. Тем не менее существует еще более простой способ. Его придумал в 40-годах индийский студент С.П.Сундарам [Б.А.Кордемский "Математическая смекалка" 1958 г. (стр. 342-343)].
Используя данную модель, я пришел к замечательной формализованной процедуре: достаточно из натурального числового ряда исключить все значения Z = i + j + 2 i j , где i = 1 , 2 , 3 , ... , n ; j = 1 , 2 , 3 , ... i , и оставшиеся числа N умножить на 2 и прибавить 1 . Это и будет ряд простых чисел. В редакторе Yabasic программа оказалась до смешного простой: rem Построение таблицы простых чисел dim a(2100) open #1,"prime.txt","w" n=200:a1=2:print #1,a1; for i=1 to n :for j=1 to i: a=i+j+2*i*j: if a<=2*n+1 then a(a)=1:fi:next j: next i for k=1 to n: if a(k)=0 then s=s+1 print #1,2*k+1;:fi:next k print #1:print #1"Number=";:print #1,s+1 На выходе получим начальные простые числа в диапазоне от 1 до 2n + 1: |
||||