[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] [已解决]求助批处理求出斐波那契数列的前项除以后项的值

本帖最后由 112 于 2020-4-15 21:24 编辑

求助大神!我想制作一个程序。这个程序可以求出斐波那契数列的前项除以后项的值。
程序输出如下:
  1. (1/1的值)
  2. (1/2的值)
  3. (2/3的值)
  4. (3/5的值)
  5. (5/8的值)
  6. (8/13的值)
  7. ...............
复制代码
众所周知,菲波那切数列的前项除以后项的结果会越来越接近黄金分割数。我就是好奇心强。想用批处理计算出来。
  1. @echo off
  2. set firstfib=1
  3. set secondfib=1
  4. set ans=
  5. for /l %%a in ( 1 , 1 , 100 ) do set \a secondfib=secondfib+firstfib&set \a firstfib=firstfib+secondfib&set /a ans=firstfib/secondfib&echo %ans%
  6. pause>nul
复制代码
这是鄙人的代码,只是不知道批处理如何进行小数运算和鄙人的程序为何出错。还请大神赐教。

鄙人又改进了下。还请大神赐教。
  1. @echo off
  2. set firstfib=100000000000000000000000000
  3. set secondfib=100000000000000000000000000
  4. set ans=
  5. :conclusion
  6. set /a secondfib=secondfib+firstfib
  7. set /a ans=firstfib/secondfib
  8. echo %ans%
  9. goto :tmp
  10. :tmp
  11. set /a firstfib=firstfib+secondfib
  12. set /a ans=secondfib/firstfib
  13. echo %ans%
  14. goto :conclusion
  15. pause>nul
复制代码
而不知为何,运行结果有些诡异。鄙人已经尽力了!

TOP

谢谢大神!

TOP

返回列表