Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,11 +0,0 @@
|
|||
package Bonacci is
|
||||
|
||||
type Sequence is array(Positive range <>) of Positive;
|
||||
|
||||
function Generate(Start: Sequence; Length: Positive := 10) return Sequence;
|
||||
|
||||
Start_Fibonacci: constant Sequence := (1, 1);
|
||||
Start_Tribonacci: constant Sequence := (1, 1, 2);
|
||||
Start_Tetranacci: constant Sequence := (1, 1, 2, 4);
|
||||
Start_Lucas: constant Sequence := (2, 1);
|
||||
end Bonacci;
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package body Bonacci is
|
||||
|
||||
function Generate(Start: Sequence; Length: Positive := 10) return Sequence is
|
||||
begin
|
||||
if Length <= Start'Length then
|
||||
return Start(Start'First .. Start'First+Length-1);
|
||||
else
|
||||
declare
|
||||
Sum: Natural := 0;
|
||||
begin
|
||||
for I in Start'Range loop
|
||||
Sum := Sum + Start(I);
|
||||
end loop;
|
||||
return Start(Start'First)
|
||||
& Generate(Start(Start'First+1 .. Start'Last) & Sum, Length-1);
|
||||
end;
|
||||
end if;
|
||||
end Generate;
|
||||
|
||||
end Bonacci;
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
with Ada.Text_IO, Bonacci;
|
||||
|
||||
procedure Test_Bonacci is
|
||||
|
||||
procedure Print(Name: String; S: Bonacci.Sequence) is
|
||||
begin
|
||||
Ada.Text_IO.Put(Name & "(");
|
||||
for I in S'First .. S'Last-1 loop
|
||||
Ada.Text_IO.Put(Integer'Image(S(I)) & ",");
|
||||
end loop;
|
||||
Ada.Text_IO.Put_Line(Integer'Image(S(S'Last)) & " )");
|
||||
end Print;
|
||||
|
||||
begin
|
||||
Print("Fibonacci: ", Bonacci.Generate(Bonacci.Start_Fibonacci));
|
||||
Print("Tribonacci: ", Bonacci.Generate(Bonacci.Start_Tribonacci));
|
||||
Print("Tetranacci: ", Bonacci.Generate(Bonacci.Start_Tetranacci));
|
||||
Print("Lucas: ", Bonacci.Generate(Bonacci.Start_Lucas));
|
||||
Print("Decanacci: ",
|
||||
Bonacci.Generate((1, 1, 2, 4, 8, 16, 32, 64, 128, 256), 15));
|
||||
end Test_Bonacci;
|
||||
|
|
@ -1,21 +1,20 @@
|
|||
(phixonline)-->
|
||||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
|
||||
<span style="color: #008080;">function</span> <span style="color: #000000;">nacci_noo</span><span style="color: #0000FF;">(</span><span style="color: #004080;">integer</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">s</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">l</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">n</span><span style="color: #0000FF;"><</span><span style="color: #000000;">2</span> <span style="color: #008080;">then</span> <span style="color: #008080;">return</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">+</span><span style="color: #000000;">n</span><span style="color: #0000FF;">*</span><span style="color: #000000;">l</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">=</span><span style="color: #000000;">2</span> <span style="color: #008080;">then</span> <span style="color: #008080;">return</span> <span style="color: #000000;">1</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #004080;">atom</span> <span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">nacci_noo</span><span style="color: #0000FF;">(</span><span style="color: #000000;">n</span><span style="color: #0000FF;">-</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #000000;">l</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">2</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">min</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #000000;">n</span><span style="color: #0000FF;">-</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #000000;">res</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">nacci_noo</span><span style="color: #0000FF;">(</span><span style="color: #000000;">n</span><span style="color: #0000FF;">-</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #000000;">l</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<span style="color: #008080;">return</span> <span style="color: #000000;">res</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
||||
with javascript_semantics
|
||||
function nacci_noo(integer n, s, l)
|
||||
if n<2 then return n+n*l end if
|
||||
if n=2 then return 1 end if
|
||||
atom res = nacci_noo(n-1,s,l)
|
||||
for i=2 to min(s,n-1) do
|
||||
res += nacci_noo(n-i,s,l)
|
||||
end for
|
||||
return res
|
||||
end function
|
||||
|
||||
<span style="color: #008080;">constant</span> <span style="color: #000000;">names</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">split</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"lucas fibo tribo tetra penta hexa hepta octo nona deca"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #004080;">sequence</span> <span style="color: #000000;">f</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">repeat</span><span style="color: #0000FF;">(</span><span style="color: #000000;">0</span><span style="color: #0000FF;">,</span><span style="color: #000000;">10</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">4</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">j</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">10</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #000000;">f</span><span style="color: #0000FF;">[</span><span style="color: #000000;">j</span><span style="color: #0000FF;">]</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">nacci_noo</span><span style="color: #0000FF;">(</span><span style="color: #000000;">j</span><span style="color: #0000FF;">,</span><span style="color: #000000;">i</span><span style="color: #0000FF;">+(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span><span style="color: #0000FF;">),</span><span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%snacci: %v\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">names</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">],</span><span style="color: #000000;">f</span><span style="color: #0000FF;">})</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<!--
|
||||
constant names = "lucas fibo tribo tetra penta hexa hepta octo nona deca"
|
||||
sequence f = repeat(0,20)
|
||||
for i,name in split(names) do
|
||||
for j=1 to 20 do
|
||||
f[j] = nacci_noo(j,i+(i=1),i=1)
|
||||
end for
|
||||
if name[$]!='s' then name&=`nacci` end if
|
||||
printf(1,"%s: %s\n",{name,join(f,fmt:="%d")})
|
||||
end for
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
#Create generator of extended fibonaci
|
||||
Function Get-ExtendedFibonaciGenerator($InitialValues ){
|
||||
$Values = $InitialValues
|
||||
{
|
||||
#exhaust initial values first before calculating next values by summation
|
||||
if ($InitialValues.Length -gt 0) {
|
||||
$NextValue = $InitialValues[0]
|
||||
$Script:InitialValues = $InitialValues | Select -Skip 1
|
||||
return $NextValue
|
||||
}
|
||||
|
||||
$NextValue = $Values | Measure-Object -Sum | Select -ExpandProperty Sum
|
||||
$Script:Values = @($Values | Select-Object -Skip 1) + @($NextValue)
|
||||
|
||||
$NextValue
|
||||
}.GetNewClosure()
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
$Name = 'fibo tribo tetra penta hexa hepta octo nona deca'.Split()
|
||||
0..($Name.Length-1) | foreach { $Index = $_
|
||||
$InitialValues = @(1) + @(foreach ($I In 0..$Index) { [Math]::Pow(2,$I) })
|
||||
$Generator = Get-ExtendedFibonaciGenerator $InitialValues
|
||||
[PSCustomObject] @{
|
||||
n = $InitialValues.Length;
|
||||
Name = "$($Name[$Index])naci";
|
||||
Sequence = 1..15 | foreach { & $Generator } | Join-String -Separator ','
|
||||
}
|
||||
} | Format-Table -AutoSize
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
'function arguments:
|
||||
'init - initial series of the sequence(e.g. "1,1")
|
||||
'rep - how many times the sequence repeats - init
|
||||
Function generate_seq(init,rep)
|
||||
token = Split(init,",")
|
||||
step_count = UBound(token)
|
||||
rep = rep - (UBound(token) + 1)
|
||||
out = init
|
||||
For i = 1 To rep
|
||||
sum = 0
|
||||
n = step_count
|
||||
Do While n >= 0
|
||||
sum = sum + token(UBound(token)-n)
|
||||
n = n - 1
|
||||
Loop
|
||||
'add the next number to the sequence
|
||||
ReDim Preserve token(UBound(token) + 1)
|
||||
token(UBound(token)) = sum
|
||||
out = out & "," & sum
|
||||
Next
|
||||
generate_seq = out
|
||||
End Function
|
||||
|
||||
WScript.StdOut.Write "fibonacci: " & generate_seq("1,1",15)
|
||||
WScript.StdOut.WriteLine
|
||||
WScript.StdOut.Write "tribonacci: " & generate_seq("1,1,2",15)
|
||||
WScript.StdOut.WriteLine
|
||||
WScript.StdOut.Write "tetranacci: " & generate_seq("1,1,2,4",15)
|
||||
WScript.StdOut.WriteLine
|
||||
WScript.StdOut.Write "lucas: " & generate_seq("2,1",15)
|
||||
WScript.StdOut.WriteLine
|
||||
Loading…
Add table
Add a link
Reference in a new issue