2 条题解

  • -1
    @ 2024-12-11 21:25:35

    #include<stdio.h> int a[1050];//设置一个数组,可以避免重复计算 void fun(int n) { int i; //当n=1时数组数为1 a[0]=1; a[1]=1; for(i=2;i<=n;i++) { if(i%20)//数字n为偶数时,是n-1的数组可能数加上n/2的数组可能数 a[i]=a[i-1]+a[i/2]; if(i%21)//数字n为奇数时,与n-1的数组可能数相等 a[i]=a[i-1]; } } int main() { int i,n; scanf("%d",&n); fun(n); printf("%d\n",a[n]); return 0; } 这个全过

    • -1
      @ 2024-12-5 21:08:13

      #include using namespace std; class Solution { public: int SumNum(int num) { int sum =0; //递归结束条件: if (num<= 1) return 1; for (int i = 0; i <=num / 2; i++) { sum += SumNum(i); } return sum; } };

      int main() { Solution s; int n = 0; cin >> n; cout << s.SumNum(n) << endl;; return 0; }

      • 1

      信息

      ID
      5086
      时间
      1000ms
      内存
      125MiB
      难度
      2
      标签
      递交数
      116
      已通过
      78
      上传者