Recursión de azulejos de copa de puente azul

Descripción del problema
  Hay un piso con una longitud de N (1 <= N <= 10), dados dos mosaicos diferentes: uno con una longitud de 1 y otro con una longitud de 2, el número es ilimitado. ¿Cuántos métodos de pavimentación diferentes se necesitan para cubrir este piso de longitud N?
  Por ejemplo, el terreno con una longitud de 4 tiene los siguientes 5 tipos de métodos de pavimentación:
  4 = 1 + 1 + 1 + 1 + 1
  4 = 2 + 1 + 1
  4 = 1 + 2 + 1
  4 = 1 + 1 + 2
  4 = 2 + 2
  La programación utiliza métodos recursivos para resolver los problemas anteriores.
Formato de entrada
  Solo hay un número N, que representa la longitud del piso
Formato de salida
  Salida de un número que representa el número total de todos los diferentes métodos de colocación de baldosas
Entrada de muestra
4 4
Salida de muestra
5 
Pensando más complicado, puede recurrir sin cerebro.
1 #include <bits / stdc ++. H>
 2  usando el  espacio de nombres std;
3  int fun ( int n) {
 4      if (n == 1 ) {
 5          return  1 ;
6      }
 7      if (n == 2 ) {
 8          devuelve  2 ;
9      }
 10      return fun (n - 1 ) + fun (n - 2 );
11  }
 12  int main () {
 13      int n;
14     cin >> n;
15      cout << diversión (n) << endl;
16      devuelve  0 ;
17 }
 

Supongo que te gusta

Origin www.cnblogs.com/fx1998/p/12700045.html
Recomendado
Clasificación