#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\n",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\n",f[n]);
}
这一问题实际是一个整数有序可重复拆分问题
转载于:https://www.cnblogs.com/lls1350767625/p/7868632.html