¡Aprende C++ desde pequeño! Registre las preguntas formuladas durante el proceso de preparación de exámenes y aprendizaje de Luogu C ++, y registre cada momento.
Adjunto una publicación resumida: Lenguaje C ++ de Luogu | Resumen_El blog de un comunicador que ama la programación-blog CSDN
[Descripción del Título]
Dado un número entero positivo n , se requiere que la secuencia se construya de la siguiente manera:
- Una secuencia con un solo número n es una secuencia legal.
- Agregue un número entero positivo al final de una secuencia legal, pero el número entero positivo no puede exceder la mitad del último elemento de la secuencia y se puede obtener una nueva secuencia legal.
Descubra cuántas secuencias legales hay en total. Dos secuencias legales a y b son diferentes si y solo si las longitudes de las dos secuencias son diferentes o hay un entero positivo i ≤∣ a ∣ tal que ai≠bi .
【ingresar】
La entrada es solo un número entero en una línea, que representa n .
【Producción】
Genere un número entero por línea, que representa el número legal de secuencias.
【Muestra de entrada】
6
【Muestra de salida】
6
[Explicación detallada del código]
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, a[1005]={0, 1, 2};
cin >> n;
for (int i=3; i<=n; i++) {
if (i%2==1) a[i] = a[i-1];
else a[i] = a[i-1] + a[i/2];
}
cout << a[n];
return 0;
}
【resultado de la operación】
6
6