私は処理するのが難しいと思うかなり難しい仕事を持っています。
配列とその長さを指定すると、サブ配列のペアを出力する再帰関数 (ループはまったくありません) を作成しようとしています。それぞれの合計は、配列全体の合計の半分になります。つまり、配列は整数の 2 つのグループに分割され、それらの合計が等しくなります。
たとえば、配列 {1,2,2,0,5} が与えられた場合、関数は {1,2,2} {0,5} を出力する必要があります。
配列自体とそのサイズのみを取得する関数を使用して、再帰的に行う必要があります。また、問題を解決するために追加の再帰関数を 1 つだけ使用することも許可されています。
どんな考えやアイデアでも大歓迎です。
またあったね!このようなクラスのコードを取得しました
int SubsetSum(int arr[], int idx, int n, int S) {
if (S==0) return 1; //This is stopping condition #1.
if (S<0 || n==0) return 0; //This is stopping condition #2.
return SubsetSum(arr, idx+1, n-1, S-arr[idx]) || SubsetSum(arr, idx+1, n-1, S);
}
「 || 」演算子は、再帰に関して何を意味しますか? ありがとうございます!