アプリ版:「スタンプのみでお礼する」機能のリリースについて

少し分かりにくいですが、、、
(1≦j≦N+1)の下で、
Z=Σ(k=1~N)Σ(i=1~k-1)A[i]+Σ(i=1~j-1)A[i]
をプログラム風に書くとどうなるか教えてください。(C又はできたらFortlanで)
あと、Σ(i=1~0)A[i]はどうなるのですか?0ですか?
以上2点お願いします。

A 回答 (1件)

Cですと、Σはforループに書き換えるのが普通です。



Z=0;

for(k=1; k<=N; k++){
 for(i=1; i<=k-1; i++){
  Z=Z+A[i];
 }
}

for(i=1; i<=j-1; i++){
 Z=Z+A[i];
}

のような事ですが、

Z=Σ(k=1~N)Σ(i=1~k-1)A[i]+Σ(i=1~※j-1)A[i]
※のjが未定義なので、計算できません。
式が誤っているのでは?


FORTRANの場合にも、forがDOに変わるだけで、基本的な考え方は同じです。
DO K = 1, N
 ~
END DO

--
> あと、Σ(i=1~0)A[i]はどうなるのですか?0ですか?

こちらは式を書いた人がどういう風に定義しているかによると思います。
「Σ(i=0~1)A[i]と同じで良いですか?」と確認するしかないような。
つまり、数学的な意味合いでのΣなのか、プログラム的な意味合いなのか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

>Z=Σ(k=1~N)Σ(i=1~k-1)A[i]+Σ(i=1~※j-1)A[i]
※のjが未定義なので、計算できません。

jは1≦j≦N+1の範囲なのでこれで解決できると思います。

Σ(i=1~0)A[i]については特に定義はありませんでした。もしΣ(i=0~1)A[i]と同じなら違う書き方がありますよねぇ。
ここの部分は少し自分で考えてみることにします。

お礼日時:2003/10/18 16:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!