Jacobsthal numbers: Difference between revisions

no edit summary
m (Added language identifier.)
No edit summary
Line 1,201:
95562442332919646317117537304253622533190207882011713489066201641121786503686867002917439712921903606443
</pre>
 
=={{header|Delphi}}==
{{works with|Delphi|6.0}}
{{libheader|SysUtils,StdCtrls}}
 
 
<syntaxhighlight lang="Delphi">
 
 
procedure GetJacobsthalNum(Lucas: boolean; Max: integer; var IA: TInt64DynArray);
{Get Jacobsthal number sequence. If Lucas is true do Lucal variation}
var I: integer;
begin
SetLength(IA,Max);
{Lucas starts sequence with 2 instead of 0}
if Lucas then IA[0]:=2 else IA[0]:=0;
IA[1]:=1;
{Calculate Nn = Nn-1 + 2 Nn-2}
for I:=2 to Max-1 do
IA[I]:=IA[I-1] + 2 * IA[I-2];
end;
 
 
procedure GetJacobsthalOblong(Max: integer; var IA: TInt64DynArray);
{Jacobsthal Oblong numbers is Nn = Jn x Jn=1 where J = Jacobsthal numbers}
var IA2: TInt64DynArray;
var I: integer;
begin
GetJacobsthalNum(False,Max+1,IA2);
SetLength(IA,Max);
for I:=0 to High(IA2)-1 do
begin
IA[I]:=IA2[I] * IA2[I+1];
end;
end;
 
 
procedure ShowJacobsthalNumbers(Memo: TMemo);
var I: integer;
var IA: TInt64DynArray;
var S: string;
begin
GetJacobsthalNum(False,30,IA);
Memo.Lines.Add('First 30 Jacobsthal Numbers');
S:='';
for I:=0 to High(IA) do
begin
S:=S+Format('%12.0n',[IA[I]+0.0]);
if (I mod 5)=4 then S:=S+CRLF;
end;
Memo.Lines.Add(S);
 
Memo.Lines.Add('');
GetJacobsthalNum(True,30,IA);
Memo.Lines.Add('First 30 Jacobsthal-Lucas Numbers');
S:='';
for I:=0 to High(IA) do
begin
S:=S+Format('%14.0n',[IA[I]+0.0]);
if (I mod 4)=3 then S:=S+CRLF;
end;
Memo.Lines.Add(S);
 
Memo.Lines.Add('');
GetJacobsthalOblong(20,IA);
Memo.Lines.Add('First 20 Jacobsthal-Oblong Numbers');
S:='';
for I:=0 to High(IA) do
begin
S:=S+Format('%18.0n',[IA[I]+0.0]);
if (I mod 3)=2 then S:=S+CRLF;
end;
Memo.Lines.Add(S);
end;
 
 
 
</syntaxhighlight>
{{out}}
<pre>
First 30 Jacobsthal Numbers
0 1 1 3 5
11 21 43 85 171
341 683 1,365 2,731 5,461
10,923 21,845 43,691 87,381 174,763
349,525 699,051 1,398,101 2,796,203 5,592,405
11,184,811 22,369,621 44,739,243 89,478,485 178,956,971
 
 
First 30 Jacobsthal-Lucas Numbers
2 1 5 7
17 31 65 127
257 511 1,025 2,047
4,097 8,191 16,385 32,767
65,537 131,071 262,145 524,287
1,048,577 2,097,151 4,194,305 8,388,607
16,777,217 33,554,431 67,108,865 134,217,727
268,435,457 536,870,911
 
First 20 Jacobsthal-Oblong Numbers
0 1 3
15 55 231
903 3,655 14,535
58,311 232,903 932,295
3,727,815 14,913,991 59,650,503
238,612,935 954,429,895 3,817,763,271
15,270,965,703 61,084,037,575
 
Elapsed Time: 14.536 ms.
 
</pre>
 
 
 
=={{header|F Sharp|F#}}==
<syntaxhighlight lang="fsharp">
465

edits