Zsigmondy numbers: Difference between revisions

no edit summary
No edit summary
Line 341:
=={{header|Mathematica}}/{{header|Wolfram Language}}==
 
Task:
Return the Zsigmondy-number to a,b,n integer:
Program:
<syntaxhighlight lang="mathematica">
Attributes[zsigmondy] = Listable;
zsigmondy[a_Integer, b_Integer, 1] := a - b /; a >= b;
zsigmondy[a_Integer, b_Integer, n_Integer] := (
kishatvanyhatvanyok = a^Range[n - 1] - b^Range[n - 1];
If[
nkishatvany == 1, Returna^Range[{an - b}1], Return[hatvanyok- = ab^Range[n] - b^Range[n1];
biggestelement = Part[hatvanyok, n];
kishatvany = a^Range[n - 1] - b^Range[n - 1];
divisors = Divisors[biggestelement];
biggestelement = Part[hatvanyok, n];
divisorpairs = Join @@ (Thread[{#, kishatvany}] & /@ divisors);
divisors = Divisors[biggestelement];
coprimepairs = Select[divisorpairs, CoprimeQ[#[[1]], #[[2]]] &];
divisorpairs = Join @@ (Thread[{#, kishatvany}] & /@ divisors);
firstelement = coprimepairs[[All, 1]];
coprimepairs = Select[divisorpairs, CoprimeQ[#[[1]], #[[2]]] &];
revesedelements = ReverseSort[firstelement];
firstelement = coprimepairs[[All, 1]];
Commonest[revesedelements, = ReverseSort[firstelement1]) /; a >= b
Commonest[revesedelements, 1]]])
</syntaxhighlight>
 
Task:
<syntaxhighlight lang="mathematica">
zsigmondy[a_Integer, b_Integer, n_Integer] := (
Attributes[zsigmondy] = Listable;
If[
zsigmondy[a_Integer, b_Integer, 1] := a - b /; a >= b;
n == 1, Return[{a - b}], Return[hatvanyok = a^Range[n] - b^Range[n];
zsigmondy[a_Integer, b_Integer, n_Integer] := (
kishatvany = a^Range[n - 1] - b^Range[n - 1];
biggestelementhatvanyok = Parta^Range[hatvanyok,n] - b^Range[n];
kishatvany = a^Range[n - 1] - b^Range[n - 1];
divisors = Divisors[biggestelement];
biggestelement = Part[hatvanyok, n];
divisorpairs = Join @@ (Thread[{#, kishatvany}] & /@ divisors);
divisors = Divisors[biggestelement];
coprimepairs = Select[divisorpairs, CoprimeQ[#[[1]], #[[2]]] &];
divisorpairs = Join @@ (Thread[{#, kishatvany}] & /@ divisors);
firstelement = coprimepairs[[All, 1]];
coprimepairs = Select[divisorpairs, CoprimeQ[#[[1]], #[[2]]] &];
revesedelements = ReverseSort[firstelement];
firstelement = coprimepairs[[All, 1]];
Commonest[revesedelements, 1]]])
revesedelements = ReverseSort[firstelement];
Commonest[revesedelements, 1]]]) /; a >= b
 
l1 = Table[zsigmondy[2, 1, k], {k, Range[10]}];
7

edits