4 条题解
-
0
//计算1!+2!-3!+4!-5!+……N!
#include <stdio.h> #include <math.h>
int main() { int n; int a = 1; int b = 0; int f = -1; int sum = 0; printf("计算1!+2!-3!+4!-5!+……N!\n"); printf("请输入N的值:"); scanf_s("%d", &n); if (n == 1) { sum = 1; } else { for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { a = a * j; } sum = sum + (a * f); f = -f; a = 1; } // 计算-1!+2!-3!+4!-5!+……N!的值 sum = sum + 2; //由于原题的第一项为正值,需要加2 } printf("结果为:%d", sum); return 0; }
-
0
#include<stdio.h>
int main() { int t; scanf("%d", &t); while (t--) { int n; scanf("%d", &n); if (n == 1) { printf("1\n"); } else { long long sum = 1; for (int a = 2; a <= n; a++) { long long ans = 1; if (a % 2 == 0) { for (int b = 1; b <= a; b++) { ans *= b; } sum += ans; } else { for (int b = 1; b <= a; b++) { ans *= (-b); } sum += ans; }
} printf("%lld\n", sum); }
} return 0;
}
-
0
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--){
int a;
scanf("%d",&a);
if(a==1){
printf("%d\n",a);
}else if(a==2){
printf("%d\n",a+1);
}else if(a>2){
int ax=-1;
long long int sum=2,sam=3,ma=2;
for(int i=3;i<=a;i++){
if(i%2!=0){
ma=i*ma;
sum=ma*ax+sam;
sam=sum;
ax=1;
}else{
ma=i*ma;
sum=ma*ax+sam;
sam=sum;
ax=-1;
}
}
printf("%lld\n",sum);
}
}
return 0;
}
- 1
信息
- ID
- 180
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 719
- 已通过
- 192
- 上传者