Fibonacci sequence: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add MAD) |
m (→{{header|PL/SQL}}: Simplified the code (using CASE statement) and added error handling.) |
||
Line 8,471: | Line 8,471: | ||
=={{header|PL/SQL}}== |
=={{header|PL/SQL}}== |
||
<lang PL/SQL> |
<lang PL/SQL>create or replace function fnu_fibonacci(p_num integer) return integer is |
||
f integer; |
|||
⚫ | |||
is |
|||
q integer; |
|||
begin |
|||
⚫ | |||
case when p_num < 0 then raise_application_error(-20001, 'Invalid input: ' || p_num, true); |
|||
nuQ integer; |
|||
when p_num in (0, 1) then f := p_num; |
|||
Begin |
|||
else |
|||
p := 0; |
|||
q := 1; |
|||
⚫ | |||
Elsif p_iNumber=1 then |
|||
f := p + q; |
|||
p := q; |
|||
q := f; |
|||
end loop; |
|||
end case; |
|||
⚫ | |||
⚫ | |||
nuFib:=nuP+nuQ; |
|||
end fnu_fibonacci; |
|||
nuP:=nuQ; |
|||
/</lang> |
|||
nuQ:=nuFib; |
|||
End loop; |
|||
End if; |
|||
End if; |
|||
⚫ | |||
End fnu_fibonnaci;</lang> |
|||
=={{header|Plain English}}== |
=={{header|Plain English}}== |