私は擬似コードを初めて使用しますが、すべての要素をまとめるのに問題があります。
これは、入力が2つの整数と整数の配列であるfooという名前の関数の定義ですa[1] ... a[n]
。
1 Foo(k,m, a[1],...,a[n])
2 if (k < 1 or m > n or k > m) return 0
3 else return a[k] + Foo(k+1,m,a[1],...,a[n])
入力整数がk=2
とm=5
であり、入力配列にが含まれているとします[5, 6, 2, 3, 4, 8, 2]
。Fooはどのような値を返しますか?総和表記を使用して、Fooが計算するものの一般式を与えます。
これは私の頭を傷つけています。これが私がこれまでにしたことです:
2行目には3つの条件文があります。
- k<1の場合//2<1の場合..これはfalseです
- m> nの場合//5が配列内の値の量(7)より大きい場合、これはfalseです。
- k>mの場合//2>5の場合、これはfalseです
したがって、この関数は3行目を表示します。3行目は次のように述べています。
- 配列の2番目の値である6を返します。したがって、6を取得してに追加し
a[k]
ます。a[2]
(2+1, 5, a[1].....,a[n])
私がやったことはそこまで正しいですか?もしそうなら、私はどのように何であるかを知ることa[n]
ができますか?私はそれを見つけることになっていますか?このすべての最終結果は何でしょうか?