2017-09-15 7 views
-6

を解く:私はシグマ例を持つシグマ例

Sigma Example

そして、私はそれを解決するためにどのように任意のアイデアを持っていません。コードを教えてくれませんか?

(コードパスカル、JavaやC++)

+3

もしあなたが数学的な構文を理解していなければ、それについて尋ねる間違ったサイトにいるのです。構文を理解している場合は、これをコードに変換する際に特に問題はありますか?どの言語でこのコードを書こうとしていますか? – Dukeling

+0

C++またはJava。それは問題ではない – VENTO

+0

これは合計です。あなたは20の外側合計のそれぞれに対して内側の1を30回行うでしょう。 – duffymo

答えて

1

インナー用語を展開する、あなたはm^5-3m^4n3m^3n^2-m^2n^3の二重の合計を得ている、m^3 - 3m^2n + 3mn^2 - n^3を取得します。これらの合計は分離可能であり、mの出力がmであり、合計がnの出力がnであることを意味します。

多項式である度5までのFaulhaber formulasによってこれらの合計を評価することができます。 Horner's methodで評価してください。加算の明らかな方法を用い

int F1(int n) { return (n + 1) * n/2; } 
int F2(int n) { return ((2 * n + 3) * n + 1) * n/6; } 
int F3(int n) { return ((n + 2) * n + 1) * n * n/4; } 
... 

int S= F5(20) * 30 - 3 * F4(20) * F1(30) + 3 * F3(20) * F2(30) - F2(20) * F3(30); 

、内側ループは60加算と60乗算の合計、差の30キューブを評価し、そして外部ループは追加で、この20回繰り返されます乗算および加算を行い、合計で1220 +および1240 *となります。

は(独立mnの値の)合計18 +30 *7分裂を行う、上述の方法と比較します。

+0

ありがとうございます。私はこれを試しました: 'int main(){' \t int result = 0; \t(int m = 1; m <= 20; m ++){ \t \t int temp = 0;用 \t \t(INT n = 1であり、n <= 30、N ++){ \t \t \t TEMP + = POW((M - N)、3)。 \t \t \t \t結果+ = pow(m、2)* temp; \t} \t cout << result; \t return 0; } ' – VENTO

+0

@VENTO:あなたが私の答えを無視したことを知らせてくれてありがとう。 –

関連する問題