#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]); }
这一问题实际是一个整数有序可重复拆分问题
时间: 2024-08-24 11:56:09
#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]); }
这一问题实际是一个整数有序可重复拆分问题