我想弄清楚我的公式sum2出了什麼問題。它應該等於sum1,它等於784.公式sum2 =(1 + 2 + ... + n)^ 2。目前使用此代碼,我得到sum2等於140.任何人都可以告訴我,我應該如何解決這個問題?或者給一個提示找不到(1 + 2 + ... n)^ 2的總和?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double n = 7;
double sum1 = 0;
double sum2 = 0;
double sum3 = 0;
double sum4 = 0;
double i = 1;
while(i <= n){
sum1 = sum1 + pow(i,3);
sum2 = sum2 + (i)*(i);
i++;
}
sum3 = (pow(n,2)*pow((n + 1),2))/4;
sum4 = n*(n+1)*(2*n + 1)/(4+2);
這只是錯過了在SUM1計算錯誤的代碼
'sum1'和'sum2'以不同的方式計算出的,SUM1由'加入到I^3'而'sum2'由'加入到I * I = I^2'。 – 2014-09-24 04:02:27
提示:(1^2 + 2^2 + 3^2 ... + 7^2)是不一樣的(1 + 2 + 3 + ... 7)^ 2 – 2014-09-24 04:02:29
您的代碼計算錯誤數。並且有一個簡單的公式來計算前N個自然數的總和。 – juanchopanza 2014-09-24 05:48:33