Data update
This commit is contained in:
parent
4d5544505c
commit
4924dd0264
3073 changed files with 55820 additions and 4408 deletions
2
Task/Pell-numbers/Julia/pell-numbers-2.jl
Normal file
2
Task/Pell-numbers/Julia/pell-numbers-2.jl
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
pell(n::Integer) = last(BigInt[2 1; 1 0] ^ n * BigInt[1, 0])
|
||||
pelllucas(n::Integer) = last(BigInt[2 1; 1 0] ^ n * BigInt[2, 2])
|
||||
59
Task/Pell-numbers/PARI-GP/pell-numbers.parigp
Normal file
59
Task/Pell-numbers/PARI-GP/pell-numbers.parigp
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
\\--- pell.gp ------------------------------------------------------------
|
||||
|
||||
\\ 1) Define Pell numbers and Pell–Lucas numbers by simple recursion
|
||||
|
||||
pell(n) =
|
||||
{
|
||||
if (n==0, return(0));
|
||||
if (n==1, return(1));
|
||||
return(2*pell(n-1) + pell(n-2));
|
||||
}
|
||||
|
||||
pellL(n) =
|
||||
{
|
||||
if (n==0, return(2));
|
||||
if (n==1, return(2));
|
||||
return(2*pellL(n-1) + pellL(n-2));
|
||||
}
|
||||
|
||||
\\ 2) Compute the first 10 Pell and Pell–Lucas numbers
|
||||
pns = vector(10, i, pell(i-1)); \\ pell(0) .. pell(9)
|
||||
plns = vector(10, i, pellL(i-1)); \\ pellL(0) .. pellL(9)
|
||||
|
||||
print("Pell numbers (n=0..9): ", pns);
|
||||
print("Pell–Lucas numbers (n=0..9): ", plns);
|
||||
|
||||
\\ 3) Form the ratios (Pell–Lucas)/2 over Pell, skipping n=0
|
||||
\\ i.e. for n=1..9
|
||||
denom = vector(9, i, pns[i+1]); \\ pns[2..10]
|
||||
numr = vector(9, i, plns[i+1]/2); \\ plns[2..10]/2
|
||||
approx = vector(9, i, numr[i]/denom[i]);
|
||||
|
||||
print("Ratios (pellL(n)/2) / pell(n) for n=1..9:");
|
||||
for (i=1,9, print(i, ": ", approx[i]));
|
||||
print("Numeric floats:");
|
||||
for (i=1,9, print(i, ": ", real(approx[i])));
|
||||
|
||||
\\ 4) List (n, pell(n)) for n=0..100 and pick the first 10 where pell(n) is prime
|
||||
plist = vector(101, i, [i-1, pell(i-1)]);
|
||||
primespell = select(x->isprime(x[2]), plist);
|
||||
print("First 10 Pell(n) that are prime:");
|
||||
for (i=1,10, print(primespell[i]));
|
||||
|
||||
\\ 5) Define PellS(n) = If[n==0,1, pell(2n) + pell(2n+1)]
|
||||
pellS(n) = if(n==0, 1, pell(2*n) + pell(2*n+1));
|
||||
print("PellS(n) for n=0..19:");
|
||||
print(vector(20, n, pellS(n)));
|
||||
|
||||
\\ 6) Generate Pythagorean triples from Pell numbers:
|
||||
\\ short = sum_{k=1..2n} pell(k), long = short+1, hypo = pell(2n+1)
|
||||
pythag(n) =
|
||||
{
|
||||
short = sum(k=1, 2*n, pell(k));
|
||||
long = short + 1;
|
||||
hypo = pell(2*n + 1);
|
||||
return([short, long, hypo]);
|
||||
}
|
||||
|
||||
print("Pythagorean triples for n=0..9:");
|
||||
for (n=0,9, print(n, ": ", pythag(n)));
|
||||
Loading…
Add table
Add a link
Reference in a new issue