动态规划

南北湖创客7个月前代码基础5

是一种算法设计技巧,用于解决具有重叠子问题和最优子结构的问题。

#include <stdio.h>

// 动态规划解决斐波那契数列
int fibonacci(int n) 

{

    // 创建一个数组来存储斐波那契数列的值
    int fib[n+1];
    int i;

    // 初始化基础情况
    fib[0] = 0;
    fib[1] = 1;

    // 填充剩余的斐波那契数列
    for(i = 2; i <= n; i++) {
        fib[i] = fib[i-1] + fib[i-2];
    }

    // 返回第n个斐波那契数
    return fib[n];
}

int main()

{
    int n = 10; // 例如,我们想找到第10个斐波那契数
    printf("Fibonacci number is %d", fibonacci(n));
    return 0;
}



在这个例子中,fibonacci函数使用动态规划来计算斐波那契数列。它首先创建了一个数组fib来存储斐波那契数列的值。

然后,它初始化了数组的前两个元素,即斐波那契数列的前两个数。

接着,它使用一个循环来计算并存储数组的剩余元素。每个元素都是前两个元素的和。

最后,函数返回所需的斐波那契数。


相关文章

incompatible type argument

 Error[Pe167]: argument of type "void (*)(void const *)" is incompatible with paramet...

延时函数(阻塞式,非阻塞式)

常规阻塞式延时:void delay_1ms(uint32_t count){    delay = count;    delay--;&...

stm32的代码和内存管理(SRAM空间)

stm32的代码和内存管理(SRAM空间)

SRAM空间1、文件中声明和定义(全局变量、静态数据和常量)从0x20000000开始,到堆的起始地址(堆是向上的)。2、HEAP区;(堆是向上的)3、STACK区。(栈是向下的)堆区(heap):一...

DSP的三角函数(\Embedded Workbench 9.0\arm\CMSIS\DSP)

1、主要代码在BasicMathFunctions文件夹2、主要例子在arm_sin_cos_example文件夹3、arm_sin_cos_example_f32文件4、先总结网上的DSP说法FPU...

make及makefile,编译原理

1、出现*** No rule to make target ` ‘, needed by xxx. Stop.时,基本都是属于找不到所依赖的文件所导致的,查看.pro文件是否有问题。使用Eclips...

二人接力队列

二人接力队列

一般循环队列的属性如下:    elements\textit{elements}elements:一个固定大小的数组,用于保存循环队列的元素。  &...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。