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.
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 }