1、基本的斐波那契数列
又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
#include<iostream>
using namespace std;
int fibo(int n){
int reault = {0,1};
if(n < 2)
return result[n];
int a = 1;
int b = 0;
int fn= 0;
for(i = 2; i <= n;i++){
fn = a + b;
b = a;
a = fn;
}
return fn;
}
int main(){
int n ;
cin >> n;
int result = fibo(n);
cout << result;
return 0;
}
2、青蛙跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
int jumpFloor(int number) {
int num[2] = {0,1};
if (number <2)
return num[number];
int a = 1;
int b = 1; // 只是做了一点修改;
int fn = 0;
for(int i = 2; i<=number; i++){
fn = a + b;
b = a;
a = fn;
}
3、贴瓷砖问题
我们可以用2x1的小矩形横着或竖着区覆盖更大的矩形,请问用8个2X1的小矩形无重叠地覆盖一个2X8的大矩形,总共有多少种方法/
代码和上面的一样