JavaScriptで2の累乗を確認する
正の数を取り、その数が2の累乗であるかどうかに基づいてブール値を返す、isPowerOfTwo()などの関数を作成する必要があります。
例-
console.log(isPowerOfTwo(3)); //false console.log(isPowerOfTwo(32)); //true console.log(isPowerOfTwo(2048)); //true console.log(isPowerOfTwo(256)); //true console.log(isPowerOfTwo(22)); //false
この関数のコードを書いてみましょう。これは非常に単純な再帰関数であり、数が2で割り切れるまで繰り返されます。このプロセスで、数が1に減る場合は、2の累乗になります。それ以外の場合はそうではありません。 t。これがコードです-
例
const isPowerOfTwo = num => { if(num === 1){ return true; }; if(num % 2 !== 0){ return false; } return isPowerOfTwo(num / 2); } console.log(isPowerOfTwo(3)); console.log(isPowerOfTwo(32)); console.log(isPowerOfTwo(2048)); console.log(isPowerOfTwo(256)); console.log(isPowerOfTwo(22));
出力
コンソールの出力は-
になりますfalse true true true false
-
JavaScriptパワーセットでセットのパワーセットを検索する
セットSのべき集合は、空のセットとS自体を含む、Sのすべてのサブセットのセットです。セットSのべき集合はP(S)として表されます。 例 S ={x、y、z}の場合、サブセットは- { {}, {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z} } 唯一の引数として配列を受け取るJavaScript関数を作成する必要があります。関数は、入
-
Cでの2の累乗
数nがあるとします。数が2の累乗であるかどうかを確認する必要があります。したがって、n =16の場合、出力はtrueになり、n =12の場合、falseになります。 これを解決するために、論理演算を使用します。 2の累乗の数値を見ると、その数値の2進表現ではMSbが1になり、他のすべてのビットは0になります。したがって、[n AND(n – 1)]を実行すると、次のようになります。 nが2の累乗の場合は0。バイナリでn=16 =10000、バイナリで(n – 1)=15 =01111の場合、10000 AND 01111 =00000 =0 例(C) 理解を深めるために、次の実装を見てみ