Undersökning av primtal

Imorse steg jag upp som vanligt, duschade, gjorde kaffe, och slog mig ner i min favoritfåtölj för lite morgonläsning. En artikel, om primtal, i facebook-flödet fångade min uppmärksamhet. Primtal har lite geek-status, primtal är tacksamma, alla människor begriper vad ett primtal är. Alla tänker på primtal. Och för de som gillar mer abstrakt tänkande erbjuder primtalsöknarna en lagom utmaning att gymnastisera lilla hjärnan med. Jag tror de icke-matematiskt lagda vädrar morgonluft, en reva i matematikens rationalitet. Det finns ännu ingen primtalslag. Det tror jag är kärnan i primtalens lockelse.

Nåja, artikeln handlade om en bristande slumpegenskap hos primtalen. Om man har ett primtal som slutar på 1, t ex, hur ser då fördelningen av slutsiffror ut i det följande primtalet? Om primtalet slutar på 1, hur ofta slutar nästa primtal på 1, 3, 7 eller 9? Man skulle gissa att det borde vara ungefär lika ofta en 1:a, 3:a, 7:a eller 9:a. Men, det är det inte, säger artikeln.

Eftersom det där är en otroligt enkel sak att räkna på själv, gjorde jag det. Såklart. Det går inte att låta bli. Nedan min lilla matlab-snutt för att räkna på fördelningen efter en 1:a. Ursäkta den klumpiga programmeringen, jag orkade inte tänka ut en mer slimmad kod. Dessutom är jag inte programmerare heller. I alla fall. Jag fick, ungefär, samma fördelning som artikeln sa. 18 % ettor, 30 % treor, 31 % sjuor och 21 % nior. På 100 miljoner tal. Man kan lägga till motsvarande rader för att kolla fördelningen efter en trea, sjua och nia. Jag gjorde det, den blev inte lika som för en etta, men den blev inte heller jämn.

Ja, det var väl kul?

—-
function [Nd,j1] = findtheprimes(ANTAL)
V = primes(ANTAL);
Vr = rem(V,10);
N = hist(Vr,9);
Nd = N([1 3 7 9]);
L = length(Vr);
j1 = [0 0 0 0];
for i = 1:L-1
   if Vr(i) == 1
      if Vr(i+1) == 1
         j1(1) = j1(1)+1;
      elseif Vr(i+1) == 3
         j1(2) = j1(2)+1;
      elseif Vr(i+1) == 7
         j1(3) = j1(3)+1;
      elseif Vr(i+1) == 9
         j1(4) = j1(4)+1;
      end
   end
end

—-

Ett litet tillägg: Doktor T tyckte att jag på kvinnligt vis nedvärderade och bad om ursäkt för mina programmerings-skills. Det tycker inte jag. Och till mitt försvar vill jag dessutom anföra att koden faktiskt är okommenterad. Som jag brukar göra det. Wild and Crazy.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*