次のように再帰関数を作成しようとしています。再帰的なC++関数
関数はカウンターk
をとり、限りカウンタがゼロより大きいことを、私は最後に、私はこのようなもので終わるように再帰的にそれを呼び出すしたいと思います:
result = 2(2(2n+1)+1)+1
最後n(k = 0の場合)はゼロでなければならない。
int pass(int k, int n)
{
if(k==0)
{
n = 0;
}
else
{
k--;
return pass(k, 2*n+1);
}
}
誰かが私にどのようにヒントを与えることができますか?
この再帰では基本ケースが必要です。 k == 0なら、nだけでなく0を返すべきです。 – code11
'k == 0 'の場合、関数は' return'ステートメントなしで返します。これは未定義の動作を引き起こします。 – Peter
私は0を返すように変更しましたが、それでも動作しません。 – DoubleOseven