-1

1 * 3-3 * 5 + 5*7のようなシリーズの合計をn個まで印刷するのを手伝ってください私はphpでこのようなコードを使用しました

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回テストしました

4

4 に答える 4

5

私は再帰関数を好むので、この方法でスタックオーバーフローを行うことができます (woot!) :) :

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);
    }
}
于 2009-12-12T05:24:25.950 に答える
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;
}

これが役に立てば幸いです...おそらくこれでアイデアが得られます。

于 2009-12-12T04:42:04.040 に答える
1

または、次を使用して、系列の最初の n 項を計算します。申し訳ありませんが、SO に LaTeX を適切に表示させる方法がわかりません。おそらく誰かが編集してくれるかもしれませんが、編集する場合は、コメントに指示を残してください。

\frac{1}{2} \left(-4 (-1)^nn^2-4 (-1)^n n+(-1)^n-1\right)

または、すばらしいEquationSheet.comによって生成されたように:

代替テキスト
(出典:equationsheet.com

于 2009-12-12T10:37:48.503 に答える