原题解答
本次的题目如下所示:
题目描述
给定一个十进制整数 n和一个小整数 x。将整数 n转为x进制。(x≤10)。输入格式
第一行一个整数 n;第二行一个整数 x。
输出格式
输出仅包含一个整数,表示答案。输入样例:
1000
2
输出样例:
1111101000
本道题是一个进制转换的题型。在Python的基础课程的二进制、八进制和十六进制的讲解中,我们学过如何将一个十进制数转换为二进制、八进制、十六进制的数。它的思路非常简单,就是将十进制的除进制数求余逆序排列。
以十进制转换为二进制为例,求解的过程如下图所示:
本题中x的值不超过10,也就是说使用数字就能够表达所有的数,无需使用到字母。因此本题的思路非常简单,对这个数除进制数并记录余数存入列表中,直至这个数的值为0结束循环。最后逆序打印出列表中的值即可得到对应进制的数。本题代码可以写成如下所示:
n = int(input())
x = int(input())
res = []
while n > 0:
res.append(n % x)
n //= x
res.reverse()
print(*res, sep='')