RosettaCodeData/Task/Pell-numbers/Mathematica/pell-numbers.math

34 lines
855 B
Plaintext

ClearAll[PellNumber, PellLucasNumber]
PellNumber[0] = 0;
PellNumber[1] = 1;
PellNumber[n_] := PellNumber[n] = 2 PellNumber[n - 1] + PellNumber[n - 2]
PellLucasNumber[0] = 2;
PellLucasNumber[1] = 2;
PellLucasNumber[n_] := PellLucasNumber[n] = 2 PellLucasNumber[n - 1] + PellLucasNumber[n - 2]
pns = PellNumber /@ Range[0, 9]
plns = PellLucasNumber /@ Range[0, 9]
den = Rest@pns;
num = Rest@plns/2;
approx = num/den
N[approx]
pns = {#, PellNumber[#]} & /@ Range[0, 100];
Select[pns, Last/*PrimeQ, 10] // Grid
ClearAll[PellS]
PellS[n_] := If[n == 0, 1, PellNumber[2 n] + PellNumber[2 n + 1]]
PellS /@ Range[0, 19]
ClearAll[PythagoreanTriple]
PythagoreanTriple[n_Integer] := Module[{hypo, short, long},
hypo = PellNumber[2 n + 1];
short = Total[PellNumber /@ Range[2 n]];
long = short + 1;
{short, long, hypo}
]
PythagoreanTriple /@ Range[10]