September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -1,38 +1,8 @@
|
|||
DECLARE FUNCTION fibonacci& (n AS INTEGER)
|
||||
|
||||
REDIM SHARED fibNum(1) AS LONG
|
||||
|
||||
fibNum(1) = 1
|
||||
|
||||
'*****sample inputs*****
|
||||
PRINT fibonacci(0) 'no calculation needed
|
||||
PRINT fibonacci(13) 'figure F(2)..F(13)
|
||||
PRINT fibonacci(-42) 'figure F(14)..F(42)
|
||||
PRINT fibonacci(47) 'error: too big
|
||||
'*****sample inputs*****
|
||||
|
||||
FUNCTION fibonacci& (n AS INTEGER)
|
||||
DIM a AS INTEGER
|
||||
a = ABS(n)
|
||||
SELECT CASE a
|
||||
CASE 0 TO 46
|
||||
SHARED fibNum() AS LONG
|
||||
DIM u AS INTEGER, L0 AS INTEGER
|
||||
u = UBOUND(fibNum)
|
||||
IF a > u THEN
|
||||
REDIM PRESERVE fibNum(a) AS LONG
|
||||
FOR L0 = u + 1 TO a
|
||||
fibNum(L0) = fibNum(L0 - 1) + fibNum(L0 - 2)
|
||||
NEXT
|
||||
END IF
|
||||
IF n < 0 THEN
|
||||
fibonacci = fibNum(a) * ((-1) ^ (a + 1))
|
||||
ELSE
|
||||
fibonacci = fibNum(n)
|
||||
END IF
|
||||
CASE ELSE
|
||||
'limited to signed 32-bit int (LONG)
|
||||
'F(47)=&hB11924E1
|
||||
ERROR 6 'overflow
|
||||
END SELECT
|
||||
END FUNCTION
|
||||
10 INPUT "ENTER VALUE OF N"; N
|
||||
20 N1 = 0 : N2 = 1
|
||||
30 FOR K=1 TO N
|
||||
40 SUM = N1+N2
|
||||
50 N1 = N2
|
||||
60 N2 = SUM
|
||||
70 NEXT K
|
||||
80 PRINT N1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue