我的任务是编写一个程序来计算标题中提到的系列.一切似乎在程序中都运行良好,但方程式错误.
#includeusing namespace std; int main() { double n; double sum = 0; cout << "Enter a number: "; cin >> n; for (double i = 1; i <= n; i++) { sum = (1 / i) + (2 / i - 1) + (3 / i - 2); } cout << "Sum is: " << sum << endl; return 0; }
任何帮助,将不胜感激.谢谢!
你的等式中存在很多问题.首先,每次迭代都会将一个新值保存到sum中,这不是您想要的.其次,系列的其余部分在哪里?为什么你只存储前三个元素?
我建议使用此代码:
#includeusing namespace std; int main() { double n; double sum = 0; cout << "Enter a number: "; cin >> n; for (double i = 1; i <= n; i++) { sum += i / (n-i+1); } cout << "Sum is: " << sum << endl; return 0; }
这样,sum以零开始,并将系列的一个元素添加到每次迭代的总和中,从1/n开始,然后是1/n + 2 /(n-1),依此类推.