Fibonacci sequence: Difference between revisions

Content deleted Content added
Markjreed (talk | contribs)
→‎{{header|Commodore BASIC}}: Add support for negative indexes and showing a range instead of just single item.
Markjreed (talk | contribs)
Line 1,431: Line 1,431:
<lang basic>100 PRINT CHR$(147); CHR$(18); "**** FIBONACCI GENERATOR ****"
<lang basic>100 PRINT CHR$(147); CHR$(18); "**** FIBONACCI GENERATOR ****"
110 INPUT "MIN, MAX"; N1, N2
110 INPUT "MIN, MAX"; N1, N2
120 IF N1 > N2 THEN T=N1: N1=N2: N2=T
120 IF N1 > N2 THEN T = N1: N1 = N2: N2 = T
130 A=0: B=1: S=SGN(N1)
130 A = 0: B = 1: S = SGN(N1)
140 FOR I = S TO N1 STEP S
140 FOR I = S TO N1 STEP S
150 : IF S > 0 THEN T=A+B: A=B: B=T
150 : IF S > 0 THEN T = A + B: A = B: B = T
160 : IF S < 0 THEN T=B-A: B=A: A=T
160 : IF S < 0 THEN T = B - A: B = A: A = T
170 NEXT I
170 NEXT I
180 PRINT
180 PRINT
190 PRINT STR$(A); : REM STR$() PREVENTS TRAILING SPACE
190 PRINT STR$(A); : REM STR$() PREVENTS TRAILING SPACE
200 IF N2 = N1 THEN 250
200 IF N2 = N1 THEN 250
210 FOR I=N1+1 TO N2
210 FOR I = N1 + 1 TO N2
220 : T=A+B: A=B: B=T
220 : T = A + B: A = B: B = T
230 : PRINT ","STR$(A);
230 : PRINT ","; STR$(A);
240 NEXT I
240 NEXT I
250 PRINT</lang>
250 PRINT</lang>