对正分数和负分数序列求和
Sum a sequence of positive and negative fraction
本文关键字:求和 更新时间:2023-10-16
我有一个功课来制作一个算法来求和这个序列:S = 1 - 1/2 + 1/4 - 1/6 + 1/8 - 1/10 + ... + 1/2n
如果用户输入 2,总和将是1 - 1/2 = 1/2
等等。
这是我的编码:
int main() {
int num, N, k;
double S;
cout << "enter the sequence : ";
cin >> N;
for (num = 1, k = 0, S = 1; num <=N; num++) {
num++;
k=+2;
if (num % 2 == 0) {
S -= 1/k;
} else {
S += 1/k;
}
}
cout << "The sum is " << S;
system("PAUSE");
return 0;
}
我很困惑为什么总和总是指 1 ??谁能向我解释为什么会发生这种情况?
尝试1./k
— 否则 1 除以任何值将产生零。(并查看关于=+
与+=
错别字的另一个答案)。
在你的循环中,你有这个
k=+2;
因此,您将值 2 分配给每次迭代k
。你可能想要
k+=2;
还要注意另一个答案中强调的整数除法问题
for(num = 1, sum = 1; num <=N; num++){
if(num%2==0){
sum += 1/(num*2);
}else{
sum -= 1/(num*2);
}
}
这应该可以做到,前提是序列中的第 n 项是(1/((n-1)*2))
.
编辑:如下所述,在执行除法时,其中一个操作数必须是非整数,以防止结果是整数。对我上述尝试的更正将是:
for(num = 1, sum = 1; num <=N; num++){
if(num%2==0){
sum += 1.0/(num*2);
}else{
sum -= 1.0/(num*2);
}
}
http://codepad.org/KgGAxKxS
相关文章:
- 求和 int 乘以双倍时的欠/过近似
- 给定一个类型,如何派生一个泛型更广泛的类型(例如,用于溢出安全求和)?
- 递归求和任务的错误答案
- 向量值(字符串和整数)求和C++
- 通过 RCPP 中的索引求和
- 矩阵行求和与 RowMajor 和 ColMajor 数据排列的奇怪性能差异
- 使用192/256位整数求和无符号64位整数向量的点积的最快方法
- 如何使用循环对所有数字求和?
- 循环中的线程 Runnin 用于对 c++ 中的数字求和
- 使用动态数组求和和和求平均值
- 找到所有与自己求和的数字X的快速方法,去掉一个数字得到N
- 如何对堆栈中的所有项目求和?Postfix计算器
- MPI 归约操作中的求和顺序
- 在高通六边形处理器的word32上执行水平求和的最快方法是什么
- 模板化求和(参数...)可变参数函数无法编译
- 平衡数组索引,同时从左和右对数组求和
- g++ 6.3,avx 内联函数上的 Kahan 求和用易失性关键字进行序列化
- 简单的计数和求和函数没有按照我预期的方式工作
- C++ 如何从文本文件中扫描二维数组并对行求和?
- C++ 犰狳和OpenMp:外积求和的并行化 - 定义犰狳矩阵的约简