Zsigmondy numbers: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 345: Line 345:
Program:
Program:
<syntaxhighlight lang="mathematica">
<syntaxhighlight lang="mathematica">
ClearAll[zsigmondy]
Attributes[zsigmondy] = Listable;
Attributes[zsigmondy] = Listable;
zsigmondy[a_Integer, b_Integer, 1] := a - b /; a >= b;
zsigmondy[a_Integer, b_Integer, 1] := a - b /; a >= b;
Line 360: Line 361:


<syntaxhighlight lang="mathematica">
<syntaxhighlight lang="mathematica">
data2 = MapThread[
Attributes[zsigmondy] = Listable;
zsigmondy[a_Integer, b_Integer, 1] := a - b /; a >= b;
zsigmondy, {{2, 3, 4, 5, 6, 7, 3, 5, 7, 7}, {1, 1, 1, 1, 1, 1, 2,
3, 3, 5}, {Range[10], Range[10], Range[10], Range[10], Range[10],
zsigmondy[a_Integer, b_Integer, n_Integer] := (
hatvanyok = a^Range[n] - b^Range[n];
Range[10], Range[10], Range[10], Range[10], Range[10]}}];
kishatvany = a^Range[n - 1] - b^Range[n - 1];
biggestelement = Part[hatvanyok, n];
divisors = Divisors[biggestelement];
divisorpairs = Join @@ (Thread[{#, kishatvany}] & /@ divisors);
coprimepairs = Select[divisorpairs, CoprimeQ[#[[1]], #[[2]]] &];
firstelement = coprimepairs[[All, 1]];
revesedelements = ReverseSort[firstelement];
Commonest[revesedelements, 1]) /; a >= b

l1 = Table[zsigmondy[2, 1, k], {k, Range[10]}];
l2 = Table[zsigmondy[3, 1, k], {k, Range[10]}];
l3 = Table[zsigmondy[4, 1, k], {k, Range[10]}];
l4 = Table[zsigmondy[5, 1, k], {k, Range[10]}];
l5 = Table[zsigmondy[6, 1, k], {k, Range[10]}];
l6 = Table[zsigmondy[7, 1, k], {k, Range[10]}];
l7 = Table[zsigmondy[3, 2, k], {k, Range[10]}];
l8 = Table[zsigmondy[5, 3, k], {k, Range[10]}];
l9 = Table[zsigmondy[7, 3, k], {k, Range[10]}];
l10 = Table[zsigmondy[7, 5, k], {k, Range[10]}];
matrix = {{l1}, {l2}, {l3}, {l4}, {l5}, {l6}, {l7}, {l8}, {l9}, {l10}};
data1 = List["Zsigmondy:2,1,n", "Zsigmondy:3,1,n", "Zsigmondy:4,1,n",
data1 = List["Zsigmondy:2,1,n", "Zsigmondy:3,1,n", "Zsigmondy:4,1,n",
"Zsigmondy:5,1,n", "Zsigmondy:6,1,n", "Zsigmondy:7,1,n",
"Zsigmondy:5,1,n", "Zsigmondy:6,1,n", "Zsigmondy:7,1,n",
"Zsigmondy:3,2,n", "Zsigmondy:5,3,n", "Zsigmondy:7,3,n",
"Zsigmondy:3,2,n", "Zsigmondy:5,3,n", "Zsigmondy:7,3,n",
"Zsigmondy:7,5,n"];
"Zsigmondy:7,5,n"];
data2 = matrix;

Grid[Transpose@{data1, data2}~
Grid[Transpose@{data1, data2}~
Prepend~{"pair of numbers", "Zsigmondy numbers"},
Prepend~{"pair of numbers", "Zsigmondy numbers"},