Write a program, that uses the following algorithm, as part of a function, to de
ID: 644933 • Letter: W
Question
Write a program, that uses the following algorithm, as part of a function, to determine if a number n ? 2 is a power of 2, such as 2 1 = 2, 23 = 8 or 210 = 1024, but not 24 - 3 = 13. To do this, you need to repeatedly attempt to divide n by 2k , where k = 1, 2, 3, ... until n is either found to be divisible by 2k or 2k > n. The function returns true if n is a power of 2 and false otherwise. The result, either yes or no, is output to the screen. The value n, is entered, via the keyboard, by the user. Your submission should include a screenshot of the execution of the program using each of the values n = 2, 3, 4, 5, 10, 16, 35, 101 and 128
Explanation / Answer
Program to check to check number is a power of 2:
#include<stdio.h>
main()
{
int n,rem,f=0;
printf("enter a number");
scanf("%d",&n);
while(n>=2)
{
rem=n%2;
if(rem==1)
{
f=1;
break;
}
else
n=n/2;
}
if(f==1)
{
printf("number is not power of 2");
else
{
printf("number is power of 2");
}
output:
enter a number 2
number is power of 2
enter a number 3
number is not power of 2
enter a number 4
number is power of 2
enter a number 5
number is not power of 2
enter a number 10
number is not power of 2
enter a number 16
number is power of 2
enter a number 35
number is not power of 2
enter a number 101
number is not power of 2
enter a number 128
number is power of 2
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.