5 条题解
-
0
#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
- 上传者