基础数学-递归实现斐波那契数列

递归

在这里插入图片描述

函数自己调用自己

连续自然数相加

Go语言实现

package main

import "fmt"

//求连续自然数的和 1+2+...+n
func main() {
	fmt.Println(f(10))
}

func f(n int) (sum int) {
	// 回归
	if n == 1 {
		return 1
	}
	// 递进-自己调用自己 10+9+...+1
	return n + f(n-1)
}

php实现

<?php
//求连续自然数的和 1+2+...+n
var_dump(f(10));

function f($n)
{
    if ($n == 1) {
        return 1;
    }
    return $n + f($n - 1);
}

斐波那契数列

递归求斐波那契数列第N项的值,例如:第10为55

Go语言实现

package main

import "fmt"

//斐波那契数列-经常用来衡量机器的计算能力
//1 1 2 3 5 8 13 21 34 55...
func main() {
	fmt.Println(GetFibonacci(10))
}

/*递归求斐波那契数列第N项的值*/
func GetFibonacci(n int) int {
	// 回归
	if n == 1 || n == 0 {
		return n
	}
	// 递进
	return GetFibonacci(n-1) + GetFibonacci(n-2)
}

php实现

//求N=3的值是多少
//两条递归线思路
// GetFibonacci(3 - 1)
// GetFibonacci(2) = GetFibonacci(1) + GetFibonacci(0) = 1 + 1

//GetFibonacci(3 - 2)
// GetFibonacci(1) = 1

结果:2+1 = 3

<?php
//斐波那契数列-经常用来衡量机器的计算能力
//1 1 2 3 5 8 13 21 34 55...
var_dump(GetFibonacci(10));
function GetFibonacci($n)
{
   // 回归
    if ($n == 1 || $n == 0) {
        return $n;
    }
    // 递进
    return GetFibonacci($n - 1) + GetFibonacci($n - 2);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【问题描述】 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值