Главная » Pascal, Исходники, Разное » Пары простых чисел
Дек
19

Пары простых чисел

Найти все пары простых чисел, т.е. числа, одно из которых является на 2 большим или меньшим от другого, и одновременно эти числа являются простыми.

[sourcecode highlight=»33″ language=»pascal»]
uses Crt;
const
N = 5;
A: Array[1..N] of Word = (2, 3, 5, 7, 0);
var
M, G, i: Longint;

function Simp(M: Longint): Boolean;
var
i: Longint;

begin
Simp:=True;
A[N]:=Round(Sqrt(M));
for i:=1 to N do
if (M mod A[i] = 0) and (not (M in [1, 3, 5, 7])) then
begin
Simp:=False;
Exit;
end;
end;

begin
Readln(G); i:=1;
if N <= 0 then Halt;
While G > i+2 do
begin
if Simp(i) and Simp(i+2) then
Writeln(i, ‘ — ‘, i+2);
Inc(i, 2);
end;
end.
{ prepared special for www.kpeople.ru by AlexeyJava }
[/sourcecode]

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

[sourcecode language=»pascal»]





function Simp(N: Integer): Boolean;
var
i: Integer;

begin
for i:=2 to N div 2 do
if N mod i = 0 then
begin
Simp:=False;
Exit;
end;
Simp:=True;
end;
[/sourcecode]

Можно также использовать стандартную функцию «без наворотов» однако при поиске больших величин ее эффективность небольшая.

P.S. А вы знаете, что такое компьютерный моддинг тут? Это модификация вашего компьютера для изменения и улучшения его параметров. Это своеобразный тюнинг для компьютера.



Понравилась статья? Сделай приятно ее автору, поделись с друзьями:


Хотите получать обновления данного блога на EMail?

Введите адрес Почтового Ящика:




Подтвердите подписку в письме пришедшем на Почту, после чего начнете получить рассылку.