365 体育在线网址_365bet体育线上平台_谁有365体育在线网址新手入门导读[视频教程]365 体育在线网址_365bet体育线上平台_谁有365体育在线网址基础视频教程[视频教程]VBS基础视频教程
[365 体育在线网址_365bet体育线上平台_谁有365体育在线网址文件精品]365 体育在线网址_365bet体育线上平台_谁有365体育在线网址版照片整理器[365 体育在线网址_365bet体育线上平台_谁有365体育在线网址文件精品]纯365 体育在线网址_365bet体育线上平台_谁有365体育在线网址备份&还原驱动在线第三方下载
返回列表 发帖

[数值计算] 求助365 体育在线网址_365bet体育线上平台_谁有365体育在线网址求出斐波那契数列的前项除以后项的值

求助大神!我想制作一个程序。这个程序可以求出斐波那契数列的前项除以后项的值。
程序输出如下:
  1. (1/1的值)
  2. (1/2的值)
  3. (2/3的值)
  4. (3/5的值)
  5. (5/8的值)
  6. (8/13的值)
  7. ...............
复制代码
众所周知,菲波那切数列的前项除以后项的结果会越来越接近黄金分割数。我就是好奇心强。想用365 体育在线网址_365bet体育线上平台_谁有365体育在线网址计算出来。
  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
复制代码
这是鄙人的代码,只是不知道365 体育在线网址_365bet体育线上平台_谁有365体育在线网址如何进行小数运算和鄙人的程序为何出错。还请大神赐教。

鄙人又改进了下。还请大神赐教。
  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

本帖最后由 ivor 于 2019-11-4 21:06 编辑
  1. <# :
  2. @Powershell "& {[ScriptBlock]::Create((gc '%~f0' -raw)).Invoke()}" & pause & goto :eof
  3. #>
  4. function fib($num){
  5.     if($num -eq 1){
  6.         return 1;
  7.         }
  8.     if($num -eq 0){
  9.         return 1;
  10.         }
  11.     else{
  12.         return (fib ($num-2)) + (fib ($num-1));
  13.     }
  14. }
  15. for($a=0; $a -le 20;$a++){
  16.     (fib($a)) / (fib($a+1))
  17. }
复制代码
python花里胡哨版:
  1. fib=lambda num:1 if num <= 1 else fib(num-2)+fib(num-1)
  2. [print(fib(i)/fib(i+1)) for i in range(20)]
复制代码
python3.7 效率版
  1. fib=[1,1]
  2. for i in range(200):
  3.     fib.append(fib[i+1]+fib[i])
  4.     print(f"{i}: {fib[i]} / {fib[i+1]} = {fib[i]/fib[i+1]}")
复制代码
qq:250193966

TOP

参考:365 体育在线网址_365bet体育线上平台_谁有365体育在线网址浮点计算
http://bbs.bathome.net/thread-3322-1-1.html
http://bbs.bathome.net/thread-3372-1-1.html
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【365 体育在线网址_365bet体育线上平台_谁有365体育在线网址在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

谢谢大神!

TOP

返回列表