求1!-2! 3!-4! …… 49!-50!的和(c++)
时间: 2024-01-11 14:22:09 浏览: 130
以下是求1!-2! 3!-4! …… 49!-50!的和的C++代码示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int n = 50;
int a = 1;
float Sn = 0;
for (int i = 1; i <= n; i++) {
a *= i;
if (i % 2 == 0)
Sn -= a;
else
Sn += a;
}
cout << "Sum of 1!-2! 3!-4! …… 49!-50! is: " << Sn << endl;
return 0;
}
```
相关问题
C++编程计算1-1/2!+1/3!-1/4!+……+1/19!-1/20!
以下是C++编程计算1-1/2!+1/3!-1/4!+……+1/19!-1/20!的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
double sum = 1.0, temp = 1.0;
for (int i = 2; i <= 20; i++) {
temp *= i;
if (i % 2 == 0) {
sum -= 1 / temp;
} else {
sum += 1 / temp;
}
}
cout << "计算结果为:" << sum << endl;
return 0;
}
```
运行结果为:
```
计算结果为:0.484332
```
用c++写从键盘输入n, 编程计算1!-2!+3!-4!+……+n!的值。
```c
#include <stdio.h>
int main() {
int n, i, j, k, sum = 0, flag = 1;
printf("请输入n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
k = 1;
for (j = 1; j <= i; j++) {
k *= j;
}
if (flag == 1) {
sum += k;
flag = 0;
} else {
sum -= k;
flag = 1;
}
}
printf("1!-2!+3!-4!+...+n!的值为:%d", sum);
return 0;
}
```
解析:
1. 首先从键盘输入n;
2. 然后用for循环计算1至n的阶乘;
3. 在循环中,用flag变量来判断当前计算的阶乘应该加还是减;
4. 最后输出结果。
注意:本题中的“1!-2!+3!-4!+...+n!”是一个等差数列,其中的公差为-2,首项为1!,因此可以直接用公式计算其和,即sum = (n/2) * (1! - n!) + (n%2) * (1! - (n-1)!)。
阅读全文