September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -1,14 +1,24 @@
|
|||
FUNCTION itFib (n)
|
||||
n1 = 0
|
||||
n2 = 1
|
||||
FOR k = 1 TO ABS(n)
|
||||
sum = n1 + n2
|
||||
n1 = n2
|
||||
n2 = sum
|
||||
NEXT k
|
||||
IF n < 0 THEN
|
||||
itFib = n1 * ((-1) ^ ((-n) + 1))
|
||||
ELSE
|
||||
itFib = n1
|
||||
END IF
|
||||
END FUNCTION
|
||||
# Basic-256 ver 1.1.4
|
||||
# iterative Fibonacci sequence
|
||||
# Matches sequence A000045 in the OEIS, https://oeis.org/A000045/list
|
||||
|
||||
# Return the Nth Fibonacci number
|
||||
|
||||
input "N = ",f
|
||||
limit = 500 # set upper limit - can be changed, removed
|
||||
f = int(f)
|
||||
if f > limit then f = limit
|
||||
a = 0 : b = 1 : c = 0 : n = 0 # initial values
|
||||
|
||||
|
||||
while n < f
|
||||
print n + chr(9) + c # chr(9) = tab
|
||||
a = b
|
||||
b = c
|
||||
c = a + b
|
||||
n += 1
|
||||
|
||||
end while
|
||||
|
||||
print " "
|
||||
print n + chr(9) + c
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
10 INPUT N
|
||||
20 LET A=0
|
||||
30 LET B=1
|
||||
40 FOR I=2 TO N
|
||||
50 LET C=B
|
||||
60 LET B=A+B
|
||||
70 LET A=C
|
||||
80 NEXT I
|
||||
90 PRINT B
|
||||
13
Task/Fibonacci-sequence/BASIC/fibonacci-sequence-11.basic
Normal file
13
Task/Fibonacci-sequence/BASIC/fibonacci-sequence-11.basic
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
10 INPUT N
|
||||
20 LET A=0
|
||||
30 LET B=1
|
||||
40 GOSUB 70
|
||||
50 PRINT B
|
||||
60 STOP
|
||||
70 IF N=1 THEN RETURN
|
||||
80 LET C=B
|
||||
90 LET B=A+B
|
||||
100 LET A=C
|
||||
110 LET N=N-1
|
||||
120 GOSUB 70
|
||||
130 RETURN
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
FUNCTION recFib (n)
|
||||
IF (n < 2) THEN
|
||||
recFib = n
|
||||
ELSE
|
||||
recFib = recFib(n - 1) + recFib(n - 2)
|
||||
END IF
|
||||
END FUNCTION
|
||||
10 INPUT N
|
||||
20 A=0
|
||||
30 B=1
|
||||
40 FOR I=2 TO N
|
||||
50 C=B
|
||||
60 B=A+B
|
||||
70 A=C
|
||||
80 NEXT I
|
||||
90 PRINT B
|
||||
100 END
|
||||
|
|
|
|||
|
|
@ -1,21 +1,12 @@
|
|||
DATA -1836311903,1134903170,-701408733,433494437,-267914296,165580141,-102334155
|
||||
DATA 63245986,-39088169,24157817,-14930352,9227465,-5702887,3524578,-2178309
|
||||
DATA 1346269,-832040,514229,-317811,196418,-121393,75025,-46368,28657,-17711
|
||||
DATA 10946,-6765,4181,-2584,1597,-987,610,-377,233,-144,89,-55,34,-21,13,-8,5,-3
|
||||
DATA 2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765
|
||||
DATA 10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269
|
||||
DATA 2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986
|
||||
DATA 102334155,165580141,267914296,433494437,701408733,1134903170,1836311903
|
||||
|
||||
DIM fibNum(-46 TO 46) AS LONG
|
||||
|
||||
FOR n = -46 TO 46
|
||||
READ fibNum(n)
|
||||
NEXT
|
||||
|
||||
'*****sample inputs*****
|
||||
FOR n = -46 TO 46
|
||||
PRINT fibNum(n),
|
||||
NEXT
|
||||
PRINT
|
||||
'*****sample inputs*****
|
||||
100 PROGRAM "Fibonac.bas"
|
||||
110 FOR I=0 TO 20
|
||||
120 PRINT "F";I,FIB(I)
|
||||
130 NEXT
|
||||
140 DEF FIB(N)
|
||||
150 NUMERIC I
|
||||
160 LET A=0:LET B=1
|
||||
170 FOR I=1 TO N
|
||||
180 LET T=A+B:LET A=B:LET B=T
|
||||
190 NEXT
|
||||
200 LET FIB=A
|
||||
210 END DEF
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
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
|
||||
FUNCTION itFib (n)
|
||||
n1 = 0
|
||||
n2 = 1
|
||||
FOR k = 1 TO ABS(n)
|
||||
sum = n1 + n2
|
||||
n1 = n2
|
||||
n2 = sum
|
||||
NEXT k
|
||||
IF n < 0 THEN
|
||||
itFib = n1 * ((-1) ^ ((-n) + 1))
|
||||
ELSE
|
||||
itFib = n1
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
|
|
|||
|
|
@ -1,10 +1,38 @@
|
|||
10 INPUT N
|
||||
20 A=0
|
||||
30 B=1
|
||||
40 FOR I=2 TO N
|
||||
50 C=B
|
||||
60 B=A+B
|
||||
70 A=C
|
||||
80 NEXT I
|
||||
90 PRINT B
|
||||
100 END
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,2 +1,7 @@
|
|||
10 INPUT N
|
||||
20 PRINT INT (0.5+(((SQR 5+1)/2)**N)/SQR 5)
|
||||
FUNCTION recFib (n)
|
||||
IF (n < 2) THEN
|
||||
recFib = n
|
||||
ELSE
|
||||
recFib = recFib(n - 1) + recFib(n - 2)
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
|
|
|||
|
|
@ -1,9 +1,21 @@
|
|||
10 INPUT N
|
||||
20 LET A=0
|
||||
30 LET B=1
|
||||
40 FOR I=2 TO N
|
||||
50 LET C=B
|
||||
60 LET B=A+B
|
||||
70 LET A=C
|
||||
80 NEXT I
|
||||
90 PRINT B
|
||||
DATA -1836311903,1134903170,-701408733,433494437,-267914296,165580141,-102334155
|
||||
DATA 63245986,-39088169,24157817,-14930352,9227465,-5702887,3524578,-2178309
|
||||
DATA 1346269,-832040,514229,-317811,196418,-121393,75025,-46368,28657,-17711
|
||||
DATA 10946,-6765,4181,-2584,1597,-987,610,-377,233,-144,89,-55,34,-21,13,-8,5,-3
|
||||
DATA 2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765
|
||||
DATA 10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269
|
||||
DATA 2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986
|
||||
DATA 102334155,165580141,267914296,433494437,701408733,1134903170,1836311903
|
||||
|
||||
DIM fibNum(-46 TO 46) AS LONG
|
||||
|
||||
FOR n = -46 TO 46
|
||||
READ fibNum(n)
|
||||
NEXT
|
||||
|
||||
'*****sample inputs*****
|
||||
FOR n = -46 TO 46
|
||||
PRINT fibNum(n),
|
||||
NEXT
|
||||
PRINT
|
||||
'*****sample inputs*****
|
||||
|
|
|
|||
|
|
@ -1,13 +1,2 @@
|
|||
10 INPUT N
|
||||
20 LET A=0
|
||||
30 LET B=1
|
||||
40 GOSUB 70
|
||||
50 PRINT B
|
||||
60 STOP
|
||||
70 IF N=1 THEN RETURN
|
||||
80 LET C=B
|
||||
90 LET B=A+B
|
||||
100 LET A=C
|
||||
110 LET N=N-1
|
||||
120 GOSUB 70
|
||||
130 RETURN
|
||||
20 PRINT INT (0.5+(((SQR 5+1)/2)**N)/SQR 5)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue