📅  最后修改于: 2023-12-03 14:58:26.498000             🧑  作者: Mango
本题来自于GATE计算机科学考试(GATE-CS-2005),需要求出一个函数的输出结果。
现有一个Python函数:
def f(m, n):
s = ""
while (m):
s = s + str(m % n)
m //= n
return s[::-1]
其中,m和n都是正整数。请问,当执行 print(f(10, 2) + f(15, 3))
时,程序的输出结果是什么?
根据题目描述,我们可以通过手动模拟程序执行的过程,来推导程序的输出结果。
首先,执行 f(10, 2)
时,程序会将 10 转换成 2进制数,即 1010。执行 f(15, 3)
时,程序会将 15 转换成 3进制数,即 120。
然后,将两个字符串拼接在一起,得到:1010120。
最后,程序将结果反转,得到最终的输出结果:021010。
因此,函数 f(m, n)
的输出结果为字符串类型的 m 转换成 n 进制数的结果。
以下是完整的代码实现:
def f(m, n):
s = ""
while (m):
s = s + str(m % n)
m //= n
return s[::-1]
print(f(10, 2) + f(15, 3)) # 输出结果为 021010
本题主要考察了求进制转换的能力,需要掌握如何将一个十进制数转换成其他进制的数,以及输出结果的反转操作。在实现解题思路的过程中需要仔细分析程序执行的每个步骤,以便得到正确的答案。