PTA计算1*2*3+4*5*
时间: 2023-12-03 16:04:39 浏览: 82
以下是PTA计算1*2*3+4*5*?的代码实现:
```c
#include <stdio.h>
int main()
{
int n, sum = 0, i;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i += 2) {
int j;
int temp = 1;
for (j = i; j <= i + 2; j++) {
temp *= j;
}
sum += temp;
}
printf("1*2*3+4*5*...*n*(n+1)*(n+2)=%d", sum);
return 0;
}
```
相关问题
PTA计算1*2*3+4*5*6+……+99*100*101的值
以下是PTA计算1*2*3+4*5*6+……+99*100*101的值的Python代码:
```python
sum = 0
for i in range(1, 100):
sum += i * (i + 1) * (i + 2)
print("sum = {:.6f}".format(sum))
```
输出结果为:
```
sum = 259579816.000000
```
pta计算l,l+1,l+2,...r的异或和
可以使用异或的性质,即异或同一个数两次等于原来的数,异或不同的数结果为1,然后通过异或前缀和的方式来计算区间异或和。
具体地,先计算前缀异或和xorPrefix,其中xorPrefix[i]表示前i个数的异或和。然后,区间[l,r]的异或和可以表示为xorPrefix[r] ^ xorPrefix[l-1],其中^表示异或运算。
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
const int N = 1e5+10;
int a[N];
int xorPrefix[N];
int main()
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i ++ )
{
cin >> a[i];
xorPrefix[i] = xorPrefix[i-1] ^ a[i];
}
while (m -- )
{
int l, r;
cin >> l >> r;
cout << (xorPrefix[r] ^ xorPrefix[l-1]) << endl;
}
return 0;
}
```
阅读全文