# Data Structures | Stack | Question 1

Following is C like pseudo code of a function that takes a number as an argument, and uses a stack S to do processing.

 `void` `fun(``int` `n) ` `{ ` `    ``Stack S;  ``// Say it creates an empty stack S ` `    ``while` `(n > 0) ` `    ``{ ` `      ``// This line pushes the value of n%2 to stack S ` `      ``push(&S, n%2); ` ` `  `      ``n = n/2; ` `    ``} ` ` `  `    ``// Run while Stack S is not empty ` `    ``while` `(!isEmpty(&S)) ` `      ``printf``(``"%d "``, pop(&S)); ``// pop an element from S and print it ` `} `

What does the above function do in general?
(A) Prints binary representation of n in reverse order
(B) Prints binary representation of n
(C) Prints the value of Logn
(D) Prints the value of Logn in reverse order

Answer: (B) Explanation: See method 2 of https://www.geeksforgeeks.org/binary-representation-of-a-given-number/ for explanation.

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

1

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.