File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ /***************************************************************************************
2
+ * *
3
+ * CODERBYTE BEGINNER CHALLENGE *
4
+ * *
5
+ * Powers of Two *
6
+ * Using the JavaScript language, have the function PowersofTwo(num) take the num *
7
+ * parameter being passed which will be an integer and return the string true if *
8
+ * it's a power of two. If it's not return the string false. For example if the *
9
+ * input is 16 then your program should return the string true but if the input is *
10
+ * 22 then the output should be the string false *
11
+ * *
12
+ * SOLUTION *
13
+ * To find if a number is a power of 2 you divide number by 2 repeatedly. *
14
+ * If final number is a two then it is a power of 2. I will use a while loop to *
15
+ * handle the repeated division by two. I will use modulus to determine if final *
16
+ * number is two meaning we have a number that is a power of 2. *
17
+ * *
18
+ * Steps for solution *
19
+ * 1) Initialize vars divis and newNum *
20
+ * 2) Loop by dividing number by 2 and seeing if it is an even number *
21
+ * 3) Test if last number is 2 meaning it is a power of 2 *
22
+ * *
23
+ ***************************************************************************************/
24
+ function PowersofTwo(num) {
25
+
26
+ var divis;
27
+ var newNum;
28
+
29
+ divis = num % 2;
30
+ newNum = num / 2;
31
+ while ( divis === 0 && newNum !== 2) {
32
+ divis = newNum % 2;
33
+ newNum = newNum / 2;
34
+ }
35
+
36
+ if (newNum === 2) {
37
+ return true;
38
+ }
39
+ else {
40
+ return false;
41
+ }
42
+ }
You can’t perform that action at this time.
0 commit comments