用c++编程求s=1*2*3*4…*100
时间: 2023-09-07 19:14:39 浏览: 71
可以使用循环来求解,代码如下:
```c++
#include <iostream>
using namespace std;
int main()
{
long long s = 1; // 使用 long long 类型,避免溢出
for (int i = 1; i <= 100; i++)
{
s *= i;
}
cout << "s = " << s << endl;
return 0;
}
```
输出结果为:
```
s = 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
```
注意,100 的阶乘非常大,需要使用 long long 类型来存储结果,否则会溢出。
相关问题
用c++编程求s=1+3+5+7…+199。
可以使用一个循环来实现求和,每次累加奇数即可。具体实现如下:
```c++
#include <iostream>
using namespace std;
int main() {
int s = 0;
for (int i = 1; i <= 199; i += 2) {
s += i;
}
cout << "s = " << s << endl;
return 0;
}
```
输出结果为:
```
s = 10000
```
用c++编程求s=1+1/2+1/4+1/8+1/16…+1/2n
可以使用循环来实现求解。具体代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
double s = 1; // 初始化 s 为 1
cout << "请输入 n 的值:";
cin >> n;
for (int i = 1; i <= n; i++) {
s += 1.0 / pow(2, i); // 计算每一项并将其加到 s 中
}
cout << "s 的值为:" << s << endl;
return 0;
}
```
上述代码中,我们使用了一个 for 循环,从 1 循环到 n,计算每一项并将其加到 s 中。最后输出 s 的值即可。需要注意的是,我们在计算每一项时使用了 `pow(2, i)` 函数来表示 2 的 i 次方,这样可以方便地计算出每一项的值。同时,需要将 1.0 转化为浮点数,避免在计算时出现整数除法的问题。