我有示例代码,必须填写丢失的作品。我的代码工作正常,但是答案不正确。问题是要找到前十个自然数的正方形和和总的平方之间的差异。
。我必须填充的斑点是:
- 括号中的iostream
- damespace之后的std
- sumsqr在" int sumsqr = 1;" 中
- for循环中int i的初始数字(我认为这是问题所在,不确定为什么使用"(n 1)",但这在我们给出的代码中)
- *在语句sumsqr = i * i; 中
- sum,sum和sumsqr在语句中设置解决方案的值
- Cout语句中的解决方案
#include <iostream>
using namespace std;
int main()
{
int N = 10;
int sum = 1;
int sumsqr = 1;
for (int i = 1; i < (N + 1); i++) {
sum += i;
sumsqr += i * i;
}
int solution = sum * sum - sumsqr;
cout << solution;
cin.get();
}
答案应该是2640,但我得到了2750。
您是在1处开始的1。空总和为0,而不是1。更改此:
int sum = 1;
int sumsqr = 1;
:
int sum = 0;
int sumsqr = 0;
另外,如果由于某种原因不允许您更改代码的位,则可以将这些数字视为第一个数字的总和。在这种情况下,只需以第二个数字开始循环,因此将int i = 1
更改为int i = 2
。