5 条题解

  • 0
    @ 2024-9-18 11:34:11
    #include<stdio.h>
    long long int jishu(int m) {
    long long int l = 1;
    for (int k = 1; k <= m; k++) {
          if (k % 2 != 0) { //这里的m就是相当于j,利用这个函数可以求从1到m中所有奇数相乘的结果
          l *= k;
          }
    }
    return l;
    
    }
    int main() {
    int a;
    scanf("%d", &a);
    for (int i = 1; i <= a; i++) { //测试数据的次数
          long long int sum = 0; //这里采      用long long int是为了防止阶乘得到的结果过大造成超过int范围
          int n;
    scanf("%d", &n); //每次测试的数据
    for (int j = 1; j <= n; j++) { //利用循环进行遍历求1!+2!+3!+...n!
          sum += jishu(j); //利用函数求具体的j!
    }
    printf("%lld\n", sum);
    }
    
    }
    

    信息

    ID
    144
    时间
    3000ms
    内存
    128MiB
    难度
    4
    标签
    (无)
    递交数
    719
    已通过
    343
    上传者