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

[数值计算] 求批处理斐波那契数列

求斐波那契数列

本帖最后由 aa77dd@163.com 于 2015-7-1 15:49 编辑

回复 1# email10t
每次循环计算两个数, 直到发生溢出, 停止计算, 最后两个计算结果也不输出
  1. @echo off
  2. set /a a=0, b=1
  3. :Fibonacci
  4. <nul set /p=%a%,%b%,
  5. set /a "b+=a+=b, t=a|b"
  6. if %t% geq 0 (
  7.     goto :Fibonacci
  8. ) else (
  9.     echo; overflow! stop!
  10. )
  11. pause
复制代码

TOP

楼主象是在测试看谁能写出很有创意很酷的代码, 我权当顶帖了

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

发现了一种诡异求法
逛群看到这么一道题
东东的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给东东(盒内共有N块巧克力,0<N<40)。
妈妈告诉东东每天可以吃一块或者两块巧克力。假设东东每天都吃巧克力,问东东共有多少种不同的吃完巧克力的方案。例如,如果N=1,则东东第1天就吃掉它,共有1种方案;如果N=2,则东东可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有两种方案;如果N=3,则东东第1天可以吃1块,剩2块,也可以第1天吃2块,剩1块,所以东东共有2+1=3种方案;如果N=4,则东东可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。现在给定N,请你写程序求出东东吃巧克力的方案数目。
【潜水】老刘(lbc-pc@qq.com)  22:44:34
简单说一下思路:假设有10块,则若10天吃完,则每天都吃1块,有1种吃法,9天吃完,则某天吃了2块,9种吃法,8天吃完,则某2天吃了2块,C(8,2)种吃法
【潜水】老刘(lbc-pc@qq.com)  22:49:52
如果最初块数是偶数n,则最少需要n/2天吃完,若是奇数,则最少需要(n+1)/2天吃完,偶数需要累加n/2次,奇数需要累加n-(n+1)/2=(n-1)/2次

然后出来的居然是斐波那契数列!?
附一个潦草的代码
  1. For a = 1 To 100
  2. wsh.echo a,result(a)
  3. Next
  4. Function result(input)
  5. Dim ii : ii = 0
  6. Dim inp
  7. inp = input
  8. While ii <= inp
  9. result = result + C(inp,ii)
  10. ii = ii + 1
  11. inp = inp - 1
  12. Wend
  13. End Function
  14. Function C(a,b)
  15. Dim aa,bb,i
  16. aa = 1 : bb = 1
  17. For i = 1 To b
  18. aa = aa*(a+1-i)
  19. bb = bb*i
  20. Next
  21. C = aa/bb
  22. End Function
复制代码

TOP

翻出来一个公式,我好像明白了

TOP

返回列表