#include<stdio.h> void main(){ int k,n; long f[1000]; printf("请输入台阶总数:"); scanf("%d",&n); f[1]=1;f[2]=1;f[3]=2; for(k=4;k<=n;k++){ f[k]=f[k-1]+f[k-3]; } printf("s=%ld ",f[n]); }
这一问题实际是一个整数有序可重复拆分问题
#include<stdio.h> void main(){ int k,n; long f[1000]; printf("请输入台阶总数:"); scanf("%d",&n); f[1]=1;f[2]=1;f[3]=2; for(k=4;k<=n;k++){ f[k]=f[k-1]+f[k-3]; } printf("s=%ld ",f[n]); }
这一问题实际是一个整数有序可重复拆分问题