Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

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

  1. JavaScriptパワーセットでセットのパワーセットを検索する

    セットSのべき集合は、空のセットとS自体を含む、Sのすべてのサブセットのセットです。セットSのべき集合はP(S)として表されます。 例 S ={x、y、z}の場合、サブセットは- {    {},    {x},    {y},    {z},    {x, y},    {x, z},    {y, z},    {x, y, z} } 唯一の引数として配列を受け取るJavaScript関数を作成する必要があります。関数は、入

  2. 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) 理解を深めるために、次の実装を見てみ