Mnou popisovanú metódu výpočtu hodnôt - podkladov pre výpočet prvočísiel som celú postupne popisoval po častiach na tomto blogu. Na celý postup jednotlivých krokov výpočtu prvočíslených hodnôt som prišiel pri mojom hľadaní súvislostí medzi prvočíslami a druhými mocninami - ich rozkladom. Tento spôsob hľadania všetkých prvočísel poznám už cca 25 rokov, ale až v tomto roku som sa rozhodol zverejniť ho.
Program sa od iných líši tým, že vďaka celkovému rozboru metódy a zápisu vypočítavaných hodnôt do tabuľky, dokážeme lepšie pochopiť súvislosti, akým spôsobom sa cez prvé hodnoty prvočísel vieme dostať k výsledkom prvočíselných hodnôt ďaľších.
Matematik Dan Zagier konštatoval, že prvočísla napriek svojej jednoduchej definícii vyrastajú medzi ostatnými číslami ako burina a nikto nedokáže predpovedať, kde vyrastie ďaľšie. Čo je však ešte úžasnejšie - prvočísla vykazujú zarážajúcu pravidelnosť a ich chovanie má svoje zákony. Prvočísla vraj tieto zákonitosti poslúchajú s takmer vojenskou presnosťou.
V slovách matematika Zagiera sa spájajú dve naoko rozporuplné vety, ktoré však vystihol podľa mnohých ľudí veľmi presvedčivo. Ma však iba polovičnú pravdu.
Ak si osvojíme postup výpočtu hodnôt - podkladov pre výpočet prvočísel a začneme vytvárať postupne podľa popisu potrebných krokov tabuľku hodnôt, zrazu sa pozastavíme nad tým, že vytvárame cez prvočísla na začiatku každého riadku predpoklady na to, aby sme pri dotváraní podmienok, kde bude stáť ďaľšie prvočíslo pochopili, že prvočísla nevyrastajú medzi ostatnými číslami ako burina, a vieme postupne povedať, kde vyrastie ďaľšie prvočíslo.
Tým, že chápeme postupnosť krokov výpočtu v tejto metóde, chápeme aj to, čo povedal spomínaný matematik, a to je to, že prvočísla vykazujú zarážajúcu pravidelnosť. My už dnes vieme, že majú svoje zákonitosti, pri ktorých dodržaní vznikajú.
Ak niečo pracuje podľa určitých krokov,je teda niečo aj na tom, že prvočísla pracujú s takmer vojenskou presnosťou.
Moja otázka znie : "Podobnosť čisto náhodná ?"
Program s popisom : je rozdelený na dve časti ( //////// )
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k,m,r:integer;
borovec:string;
l : array[1..20000] of Integer;
n : array[1..20000] of Integer;
Fout: TextFile;
begin
AssignFile(Fout, 'D:\Prvocisla\Mapa.txt');
Rewrite(Fout);
for i:=1 to 20000 do
begin
l[i]:=0;
n[i]:=0;
end;
m := 10000;
r:=1;
i := 1;
borovec := '';
while (r<m) do
begin
r := 6 * i - 1; // Výpočet možného modrého prvočísla.
if (l[i]=0) and (n[i]=0) then // V stĺpci žiadna hodnota - prvočíslo dvojice.
borovec := borovec+IntToStr(R)+' ';
if (l[i]>0) and (n[i]=0) then // V stĺpci je modrá - prvočíslo.
borovec := borovec+IntToStr(R)+' ';
if (l[i]=n[i]) and (n[i]>0) then; // Ak sa rovná modré červenému a sú kladné, nevypíše nič (zložené číslo)
j:=1;
k:=1;
while (J<m) do
begin
j := k * r - i; // Zapisovanie modrých hodnôt do tabuľky
l[j] := j;
j := k * r + i; // Zapisovanie červených hodnôt do tabuľky
n[j] := j;
k := k+1;
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////
r := 6 * i + 1; // Výpočet možného červeného prvočísla.
if (l[i]=0) and (n[i]=0) then // V stĺpci žiadna hodnota - prvočíslo dvojice.
borovec := borovec+IntToStr(R)+' ';
if (l[i]=0) and (n[i]>0) then // V stĺpci je červená - prvočíslo.
borovec := borovec+IntToStr(R)+' ';
if (l[i]=n[i]) and (n[i]>0) then; // Ak sa rovná modré červenému a sú kladné, nevypíše nič (zložené číslo)
j:=1;
k:=1;
while (J<m) do
begin
j := k * r - i; // Zapisovanie modrých hodnôt do tabuľky
n[j] := j;
j := k * r + i; // Zapisovanie červených hodnôt do tabuľky
l[j] := j;
k := k+1;
end;
i := i+1; // Zvýšenie čísla riadku - nasledujúce prvočíslo
end;
ShowMessage(borovec);
Write(Fout,borovec);
CloseFile(Fout);
end;
Aj keď je program krátky a jednoduchý, vzťahuje sa naň autorské právo tak, ako aj na celú popísanú metódu získavania prvočísel z hodnôt - podkladov pre výpočet prvočísel a následným zápisom do tabuľky.