8 条题解

  • 0
    @ 2025-10-1 20:20:11

    可以用递归加数组储存,记忆化处理 #include <stdio.h> int arr[50]; int ad(int x){ if(x0){ return 0; } if(x1){ return 1; } if(arr[x]!=0){ return arr[x]; } arr[x]=ad(x-1)+ad(x-2); return arr[x]; } int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++){ int m; scanf("%d",&m); if(m==1){ printf("0\n"); }else{ printf("%d\n",ad(m)); } } return 0; }

    信息

    ID
    153
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    1033
    已通过
    266
    上传者