なぜ私は知りませんが、私はこの再帰をトレースして、私の死と本当に私を怒らせます。誰かがこれをどうやってどうやって説明するのを助けることができるなら、私は大好きです。この再帰の理解が必要
public class MindNumber
{
public static int numb(int i)
{
int result;
if (i < 1)
{
result = -1;
}
else if (i < 10)
{
result = numb(i - 1) + numb(i - 2);
}
else if (i % 2 == 0)
{
result = numb(i/2);
}
else
{
result = numb(i/2) + numb(i % 2);
}
return result;
}
}
public class MindNumberDriver
{
public static void main(String[] args)
{
int i;
i = MindNumber.numb(12);
System.out.println(i);
}
}
出力は-21です。これが正直にどのようになっているのか理解していない。
あなたのデバッガでコードをステップ実行することをお勧めします。 –
あなたはこれを書きましたか?あなたはそれが何か他のことをすることを期待していますか?もしそうなら、何? – shmosel
紙を取り出し、すべての通話を書き留めてみてください。 – mariusz2108