题目链接:https://www.luogu.com.cn/problem/P1028
代码实例:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int f[] = new int[10001];
int n = scanner.nextInt();
/**
* 递推公式:
* f[1]=1
* f[2]=2=f[1]+1
* f[3]=2=f[1]+1
* f[4]=4=f[1]+f[2]+1
* f[5]=4=f[1]+f[2]+1
*/
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i/2; j++) {
f[i] += f[j];
}
f[i]++;
}
System.out.println(f[n]);
scanner.close();
}
}