[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
原帖由 pusofalse 于 2009-6-22 18:38 发表
印象中斐波那契数列是1 2 3 5 8 13 ...这样的,第二位是2,可能是我记错了。@echo off
Set /p iStop=
Set /a iX = 1, iY = 0, iN = 0, iFlag = iStop %% 2
:loop
Set /a iX += iY, iY += iX, iN += 2
If %iN% L ...

应该由0位计;
0位是0
1位是1
2位是1
3位是2
4位是3
5位是5
6位是8
...etc

TOP

0 - 46位:         
@echo off&setlocal EnableDelayedExpansion
set /a a=0,b=1
set /p nub=In digital *  
for /l %%a in (1,1,%nub%) do set /a a+=!b!,b=!a!
cls&echo !nub! digital = !a!
pause>nul

TOP

多數位的,用vbs引擎做計算部份
'>nul 2>nul&echo off&title Taurus's Fibonacci Testscript
':batloop
'>nul 2>nul&cls
'>nul 2>nul&set/p NUM=In digital *
'>nul 2>nul&for /f "delims=#" %%i  in ('call CScript.EXE ""%0"" //Nologo //e:VBScript %NUM%') Do Set Var=%%i
'>nul 2>nul&cls
'>nul 2>nul&echo %NUM% = %Var%
'>nul 2>nul&pause>nul
'>nul 2>nul&goto :batloop
str = (WScript.Arguments(0)-1)
a=0
b=1
For i = 0 To str
c=a
a=a+b
b=c
Next
WScript.echo (a)

[ 本帖最后由 Taurus 于 2009-8-27 21:54 编辑 ]
带内地用语或带里语的文章,在下读写总觉有点吃力;
如误解了各位意思的讲勿见怪   ^_^

TOP

纯思路,只想避过两值相加的固态,CLng到47位还是会溢位)
bat实现较麻烦,用了vbs
do
str = (digital-3)
a=0
if str > -3 then
a=1
For i = 0 To str
num=a*1.6180339887
a=CLng(num)
Next
end if
digital=InputBox("Num = "& a,"Fibonacci sequence","0")
if digital="" then
exit do
end if
loop

[ 本帖最后由 Taurus 于 2009-11-16 06:29 编辑 ]
带内地用语或带里语的文章,在下读写总觉有点吃力;
如误解了各位意思的讲勿见怪   ^_^

TOP

返回列表