-4

f3(1, i) が呼び出されます。

public class Project4f3
{
public static int f3(int x, int y)

// I know that it has to have a stop termination and i think that is when x==y, but    im not sure
if (x==y) return ??
else return f3(x+1,y-1)
// don't think this is right but this is where I am at right now
}

public static void main(String[] args)
{
System.out.print(f3(1,i));
}

}
4

1 に答える 1

3

再帰アルゴリズムを開発するには、次の 2 つのことを考慮する必要があります。

  1. ベースケースは何ですか?これらは、直接計算できるケースです。たとえば、 の場合n == 1、答えを直接計算できます。
  2. 再帰的なケースとは何ですか? これらは、削減された問題の解決策が (再帰呼び出しを介して) 利用可能であると仮定し、それに基づいて構築するケースです。たとえば、 の答えがわかっている場合、それをn - 1どのように使用して の答えを計算しますnか?

それらを特定したら、再帰メソッドを定義してコーディングする準備が整います。

n(ここで使用している は、必ずしも方程式で使用したものではないことを指摘しておく必要がありiます。方程式の項の数を として使用するnか、おそらく の両側の要素の数を使用する方が理にかなっています。再帰的な問題解決の創造的な部分であり、しばしば最も難しい部分でもありますが、適切な問題表現を考え出すことです。)

于 2013-10-07T21:22:43.823 に答える