该脚本成功计算了斐波那契序列,但我不知道如何将数字转换为数组。
`标题Fibonacci数组@echo off setlocal enableDelayedExpansion
:Fibonacci
setlocal
::C=current L=last S=Swap
set C=1
set L=0
for /l %%G in (1,1,30) do (
set S=!C!
set /a C+=!L! & Call :Array !C!
set L=!S!
)
:Array
::Here is where you create the array
set i=-1
for %%X in (%1 %2 %3 %4 %5 %6 %7 %8 %9) Do (
set /a i+=1
set /a Fib[!i!]=%%X
)
set index=!i!
for /l %%X in (0,1,!index!) do (
echo !Fib[%%X]!
)
pause>nul
endlocal`
Title Fibonacci array
@echo off
setlocal enableDelayedExpansion
:Fibonacci
::C=current L=last S=Swap
set C=1
set L=0
set i=-1
for /l %%G in (1,1,30) do (
set S=!C!
set /a C+=L
rem Here is where you create the array,
set /a i+=1
set /a Fib[!i!]=C
set L=!S!
)
set index=!i!
:ShowArray
for /l %%X in (0,1,!index!) do (
echo %%X- !Fib[%%X]!
)
pause>nul
endlocal
编辑:更简单的方法
@echo off
Title Fibonacci array
setlocal EnableDelayedExpansion
set N=30
:Fibonacci
set /A i=0, j=1, Fib[0]=1, Fib[1]=1
for /L %%G in (2,1,%N%) do set /A Fib[%%G]=Fib[!i!]+Fib[!j!], i=j, j+=1
:ShowArray
for /L %%X in (1,1,%N%) do echo %%X- !Fib[%%X]!
pause>nul
Title Fibonacci array
@echo off & setlocal EnableDelayedExpansion
:Fibonacci
::set counter and array index
set/a Count=30, i=0, j=1
set/a F[!i!]=1, F[!j!]=1
echo F[!i!]=1
echo F[!j!]=1
::Calculate the rest and display
for /l %%N in (2,1,%Count%) do (
set /A F[%%N]=F[!i!]+F[!j!]
echo F[%%N]=!F[%%N]!
set /A i=j, j+=1
)
通过在计算剩余序列的同时显示它,我做得更优雅