1

私は試験のために勉強していますが、この概念を理解するのに苦労しています。オブジェクトの再帰的な定義を考えると、再帰的な認識エンジンを書くことができます。これを行う方法がよくわかりません。

質問の例を次に示します。正の整数が 2 のべき乗の 1 倍または 2 倍の場合、正の整数は 2 のべき乗です。 2.

4

1 に答える 1

0

私が理解していることから、あなたは次のようなものを探しています:

bool isPowerOf2(int x){
     if (x==1) return true;
     if (x mod 2 > 0) return false;
     return isPowerOf2(x/2);
}

この関数は、毎回数値を 2 で除算して 1 に到達しようと「試み」ますが、x を正確に 2 で除算できない場合 (x モジュロ 2 が 0 より大きい場合) は false を返します。

于 2013-10-03T15:55:34.333 に答える