2009-12-12 92 views
-1

請幫助打印系列以及像1 * 3-3 * 5 + 5 * 7系列的總和,直到n個術語我已經使用這樣的代碼PHP系列的總和1 * 3-3 * 5 + 5 * 7

class series { 
    function ser(){ 
     $i = 0; 
     $k = 3; 
     $m = 0; 

     for($j = 1; $j < 3; $j++) { 
      if($j % 2 == 0) { 
       $m = $i + ($i * $k); 
      } else { 
       $m=$m-($i*$k); 

      } 
     } 

     //$m = $m + $i; 
     echo "$m"; 
    } 
} 

$se = new series(); 
$se->ser(); 

只是我已經測試了2倍

+7

第1步:格式化您的代碼,使其可讀。第2步:告訴我們這是什麼語言。第3步:當非成員函數足夠時,不要使用成員函數。 – 2009-12-12 04:34:23

+0

這是功課嗎? – 2009-12-12 04:39:47

+2

有問題嗎? – Ken 2009-12-12 04:42:45

回答

5

這可能是家庭作業,但在這裏不用反正。希望你從中學到一些東西。

上面的代碼是可怕的。過度複雜,沒有任何...這是一個非常簡單的版本。我不知道這是什麼語言,但我會爲你做類似的事情......去拿一本關於編程的書,這將是你的時間明智的投資。

function my_sum(int $count) { 
    $result = 0; 
    $sign = 1; 
    for ($i=1; $i<=$count; $i++) { 
     $result = $result + $sign * (2*$i-1) * (2*$i+1); 
     $sign = - $sign; 
    } 
    return $result; 
} 

希望這會有所幫助......您可能會對此有所瞭解。

+0

謝謝它解決我的問題 – Rajanikant 2009-12-12 04:49:05

+1

你意識到他可能只是複製/粘貼這個答案沒有閱讀或理解它? – 2009-12-12 10:48:42

+0

希望不是爲了他自己... – 2009-12-14 08:37:15

5

我喜歡的遞歸函數,並通過這種方式,您可以計算器(活泉!):):

public static int serie(int n){ 
    if(n<1){ 
     return 0; 
    }else{ 
     return (n%2==0?-1:1)*(4*n*n-1)+serie(n-1); 
    } 
} 
+0

太棒了! mod +1有趣:) – 2009-12-12 05:33:17

1

或者,使用下面的計算您的系列的前n項。抱歉,還沒有弄清楚如何使SO顯示LaTeX正確,也許有人可以爲我編輯它,但如果你這樣做,請留下評論說明請!

\壓裂{1} {2} \左(-4(-1)^ン^ 2-4(-1)^ N N +( - 1)^ N-1 \右)

或者,通過精彩EquationSheet.com所產生:

alt text http://www.equationsheet.com/latexrender/pictures/6140ef506f6900c756703d4422349361.gif

+2

我希望你找到那個網站和我一樣有幫助,馬克。只需粘貼到您的LaTeX中,複製生成的圖像的URL,並將其作爲圖像添加到SO發佈中。輝煌的東西。 – duffymo 2009-12-14 02:33:22

8

通過一些簡單的操作中的一個可以找到的總和S. 公式如果n爲偶數(總和Se)的加入對術語的收率

Se = (1*3 - 3*5) + (5*7 - 7*9) + (9*11 - 11*13) ... 
Se = -4*( 3 + 7 + 11 + ... ) 

括號中的條款可以被分裂並總結出:

Se = -4*(1+2 + 3+4 + 5+6 + ... ) 
Se = -4*(n*(n+1)/2) 
Se = -2*n*(n+1) 

如果n是奇數(總和左右)的最後一項必須加硒:

So = Se + 4*n*n-1 
So = +2*n*(n+1) - 1 

C語言中的實現:

int series (unsigned int n) 
{ 
    if (n%2 == 0) 
    return -2*n*(n+1); 
    else 
    return +2*n*(n+1) - 1; 
} 
+1

在急於實現大量循環之前在紙上做一些數學運算:這是真正的優化! – siukurnin 2009-12-13 10:25:13