以下是类似于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/的方法2。