下面是一个类似C的函数的伪代码,它以数字为参数,并使用堆栈S进行处理。
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
}
上面的函数一般有什么作用?
(A)以相反的顺序打印 n 的二进制表示
(B)打印 n 的二进制表示
(C)打印 Logn 的值
(D)以相反的顺序打印 Logn 的值答案: (B)说明:见 https://www.geeksforgeeks.org/binary-representation-of-a-given-number/ 方法二的说明。