Portal de título original
Idea: enumere los primeros ejemplos m [1] = 1, m [2] = 2, m [3] = 2, m [4] = 4, no es difícil ver que m [n] = m [1 ] +… + M [n / 2] +1, así que usa la idea recursiva para hacerlo
Referencia de código
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1001;
int m[MAXN],n;
int main(){
cin>>n;
//从1-n按规律递推
for(int i = 1;i <= n;i++){
for(int j = 1;j <= i/2;j++)
m[i]+=m[j];
m[i]++;//加上自然数自身
}
cout<<m[n];
return 0;
}