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