Hoe bereken je van algoritme A003558 de uitkomsten?
In de reeks A003558 van 0-23 zijn de uitkomsten 0, 1, 2, 3, 3, 5, 6, 4, 4, 9, 6, 11, 10, 9, 14, 5, 5, 12, 18, 12, 10, 7, 12, 23.
Ik zou graag willen weten hoe deze suborde in gewone rekentaal uitgerekend wordt.
In Mathematica is het Suborder[a_, n_] := If[n1 && GCD[a, n]==1, Min[MultiplicativeOrder[a, n, {-1, 1}]], 0]; Table[Suborder[2, 2n+1], {n, 0, 100}, maar ik kom er niet achter hoe dat in zijn werk gaat.
Bram d
Iets anders - zaterdag 13 februari 2010
Antwoord
Het antwoord staat in de aantekeningen onder de rij: m is de de eerste macht van 2 die bij deling door 2n+1 rest -1 of 1 oplevert. In dit geval kan men die m vinden door te beginnen met x=2 en m=1 en dan de volgende loop te doorlopen: als x=2n of x=1: stop, m is als gevraagd; x:=2x; m:=m+1; als x2n+1: x:=x-(2n+1); herhaal