BAT批处理实现Fibonacci函数

小无聊一下,不过真的很强大……

@ECHO OFF

SETLOCAL

SET X=10

CALL :Fib %X% Y
ECHO Fib^(%X%^)=%Y%
GOTO :EOF

:Fib [In]X [Out]Result
SETLOCAL
SET A=%1
SET D=1
SET E=0

IF %A% LEQ 1 (
  GOTO FibRet
)

SET /A B=%A%-1
SET /A C=%A%-2
CALL :Fib %B% D
CALL :Fib %C% E

:FibRet
ENDLOCAL & SET /A %2=%D%+%E% & GOTO :EOF

输出是“Fib(10)=89”

(0)

相关推荐

  • Go语言实现Fibonacci数列的方法

    本文实例讲述了Go语言实现Fibonacci数列的方法.分享给大家供大家参考.具体如下: Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后) 第一种,使用递归: 复制代码 代码如下: func fibonacci(a int) int {      if a == 1 || a == 2 {          return 1      }      return fibonacci(a-1) + fibonacci(a-2)  } 第

  • c#斐波那契数列(Fibonacci)(递归,非递归)实现代码

    //Main 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Fibonacci{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("Would you like to know which

  • java实现fibonacci数列学习示例分享(斐波那契数列)

    输出:1  1  2  3  5 复制代码 代码如下: public class FibonaciTest { public static void main(String[] args) {  Fibonaci(5); } public static void Fibonaci (int count) { int[] num = new int[count];  num[0] = num[1] = 1; for (int i = 2; i < count; i++) {   num[i] =

  • Java基于高精度整型实现fibonacci数列的方法

    本文以实例形式讲述了Java基于高精度整型实现fibonacci数列的方法,分享给大家供大家参考之用.具体方法如下: package com.java.learning.recursion; import java.math.*; public class MainClass { public static void main(String args[]){ for(int i = 0; i < 100; i++){ f(i+1); } } public static BigInteger f(

  • java实现Fibonacci算法实例

    本文实例讲述了java实现Fibonacci算法的方法.分享给大家供大家参考.具体如下: package com.yenange.test2; import java.util.Scanner; public class Fibonacci { private static Scanner input = new Scanner(System.in); public static void main(String[] args) { System.out.println("-----------

  • c语言的cps实现求fibonacci数列示例

    CPS:http://en.wikipedia.org/wiki/Continuation-passing_style示例代码使用迭代 + 尾递归. 复制代码 代码如下: #include <stdio.h> typedef void (*END_OF_END)(unsigned long);void fibonacci(int, unsigned long, unsigned long, void(*)(unsigned long)); voidnotify(unsigned long re

  • 用Python实现斐波那契(Fibonacci)函数

    Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个. 最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个帖子Python程序员的进化写的很有意思.于是打算仿照一篇,那篇帖子用了十余种方法完成一个阶乘函数,我在这里会用九种不同的风格写出一个Fibonacci函数. 要求很简单,输入n,输出第n个Fibonacci数,n为正整数 下面是这九种不同的风格: 1)第一次写程序的Python程序员: de

  • 求斐波那契(Fibonacci)数列通项的七种实现方法

    一:递归实现使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1.二:数组实现空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快.三:vector<int>实现时间复杂度是0(n),时间复杂度是0(1),就是不知道vector的效率高不高,当然vector有自己的属性会占用资源.四:queue<int>实现当然队列比数组更适合实现斐波那契数列,时间复杂度和空间复杂度和vector<int>一样,但队列太适合这里了,

  • BAT批处理实现Fibonacci函数

    小无聊一下,不过真的很强大-- @ECHO OFF SETLOCAL SET X=10 CALL :Fib %X% Y ECHO Fib^(%X%^)=%Y% GOTO :EOF :Fib [In]X [Out]Result SETLOCAL SET A=%1 SET D=1 SET E=0 IF %A% LEQ 1 ( GOTO FibRet ) SET /A B=%A%-1 SET /A C=%A%-2 CALL :Fib %B% D CALL :Fib %C% E :FibRet ENDL

  • BAT批处理、VBScript批量安装字体脚本分享

    根据新系统要求,经常要部署一些原来系统里没有的字体,原先我为了图省事经常会要求用户手动安装字体文件,虽然Windows的易用性做得相当不错,但是仍然要照顾一些不会安装字体的人,其实把这些字体打包进安装包更为方便,不过我觉得总不能每有新字体都要搞个安装包那么麻烦吧.更重要的是仍然有人会问我字体怎么安装,以前清一色的Windows XP系统,我倒也方便,直接告知打开控制面板找到字体文件夹,把要安装的字体拖进去即可:现在有Windows 7还是Windows 8等各种版本Windows系统,对于安装字

  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    先给大家普及下批处理的基本概念 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat 或cmd.目前比较常见的批处理包含两类:DOS批处理和PS批处理.PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本:而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本.更复杂的情况,需要使用if.for.goto等命令控

  • VBS脚本和BAT批处理删除自身的方法

    VBS脚本和BAT批处理自身删除的方法(自杀) 删除自身之:VBS 把下面的脚本保存为selfkill.vbs或selfkill.vbe: 复制代码 代码如下: Set fso = CreateObject("Scripting.FileSystemObject") f = fso.DeleteFile(WScript.ScriptName) WScript.Echo( WScript.ScriptName) 然后运行它,是不是发现selfkill.vbs神奇的消失啦?而后面的对话框却

  • BAT批处理一键生成APK包脚本分享

    BAT批处理一键生成APK包脚本分享 将本bat放到cocos2dx目录下你的工程的project.android下(需修改变量). ASmaker 用来将Resources文件夹下的lua文件批量加密 算法参考我之前的rc4算法实现. 每次打包apk前 svn 最新的工程代码 和 cocos2dx引擎代码. @echo off rem 工具路径 set JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_05" set ANT_HOME = &qu

  • 利用bat批处理程序通过DOS命令行删除所有的空文件夹的方法

    用过gothub或者码云的同学都知道,不包含任何文件的空文件夹上传提交时不被允许的.当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了. 但是如果空文件夹比较多,并且我们确实不需要这些空文件了,那本文就学习一种命令行删除所有空文件夹的方法.并封装成.bat批处理程序.通过鼠标右键运行即可. 一,DOS删除命令 1.1,删除文件命令 del 若是想删除文件,输入del 盘符名:\文件名,比如,我想删除一个在F盘的名为123.txt的文件,则输入  del f:\12

  • 让bat批处理以管理员权限运行的实现方法

    1.第一种方法 有的电脑是非管理员登录,运行程序时,需要提示是否运行运行.解决方法如下: @ echo off %1 %2 ver|find "5.">nul&&goto :Admin mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas&quo

  • windows下bat批处理执行Mysql的sql语句

    有时候我们需要用bat来定时执行mysql那么就可以参考下面的代码 直接上代码: @ECHO OFF SET dbhost=主机名(例如:127.0.0.1) SET dbuser=用户名(例如:root) SET dbpasswd=用户密码(例如:root) SET dbName=数据库名称(例如:test) SET sqlpath=%~dp0(此语句可以保证.bat同级目录下的.sql文件能被找到) set sqlfile=update.sql(需要执行执行sql的文件) 进入mysql安装

  • 解决bat批处理输出乱码的问题

    乱码原因 Windows的cmd.exe默认编码格式为ANSI 简体中文版的Windows, 其ANSI对应微软Codepage为cp936 大致等同于GBK编码 如果你的bat文件是UTF-8编码的, 或者是是其他Codepage下创建的, 比如 Windows日语版下创建的bat文件, 保存为ANSI编码时对应cp932, 即Shift-JIS编码 Windows繁体中文版下创建的bat文件, 保存为ANSI编码时对应cp950, 即Big5编码 当bat文件编码与当前cmd环境不一致时,

  • Java 执行CMD命令或执行BAT批处理方式

    Java 执行CMD命令或执行BAT批处理 背景 日常开发中总能遇到一些奇怪的需求,例如使用java执行cmd命令或者bat批处理文件,今天就简单记录一下使用过程. 使用 废话不多说直接上代码 import java.io.BufferedReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class Cmder { /** * 执行一个cm

随机推荐