题目是Go指南中的闭包求斐波那契数列 package main import "fmt" // 返回一个"返回int的函数" func fibonacci() func() int { var last = 0 var cur = 1 var count = 0 return func() int { return func() int { switch count { case 0: count += 1 return 0 case 1: count += 1 r
定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 阶乘实例 n = int(input(">>:")) def f(n): s = 1 for i in range(2, (n + 1)): s *= i return s print(f(n)) 递归 def factorial_new(n): if n==1: return 1 return n*factorial_new(n-1) print(factorial_new(3))
斐波那契数列,即1.1.2.3.5......,从第三个数开始包括第三个数,都为这个数的前两个数之和,而第一第二个数都为1. 下面是java输出斐波那契数列的代码: import java.util.HashMap; public class Test{ //定义一个hashMap来存储已经计算并且输出过的值 public static HashMap<Integer, Integer> hashMap = new HashMap<Integer,Integer>(); //递归方