如何在C ++中计算下面的总和? 我尝试了以下代码,但失败了。
#include <iostream>
using namespace std;
int main()
{
int n, p, r = -1;
cin >> n;
for (p = 0; p < 10; p++)
r *= (-1);
cout << r << endl;
return 0;
}
答案 0 :(得分:4)
#include <iostream>
using namespace std;
int main()
{
int p, r = 1;
int iSum=0;
// cin >> n;
for (p = 0; p <= 10; p++)
{
r *= (-1);
iSum+=r;
}
cout << iSum << endl;
return 0;
}
答案 1 :(得分:4)
这是基础数学,不需要循环,你只需计算-1 * (upperLimit + 1)%2
。
看一下系列并思考:-1 +1 -1 +1 -1 +1 ...
。
答案 2 :(得分:1)
虽然@Flavius是正确的,但总和从0开始,所以它将是-1 * (upperLimit+1)%2
,因为总和不是10次而是11次。 upperLimit%2
对于从1