2 つの整数 (>0) (n1,n2) を取得する関数 (C++) を作成する必要があります。私ができることは次の 2 つだけです。
- n1 に 1 を加算します。
- n1 を 2 倍します。
この関数は、n1 から n2 までの最短経路の歩数を返します。それを行う方法のアイデアを教えてもらえますか?
ありがとうございました!
PS 不可能な場合、関数は -1 を返します。
ここで私が試したこと:
if (n1<n2)
{
n1++;
if ((n1)*2<=n2)
return 2+f(n1*2,n2);
else
return 1+f(n1,n2);
}