题目
输入一个非负整数,将其转换为二进制字符串形式并输出(不使用额外前缀)。
输入格式:输入一行包含一个非负整数 n。
输出格式:输出转换后的二进制字符串,末尾换行。
数据范围与约定:0 ≤ n ≤ 10^9。
思路与算法
1. 除 2 取余逆序
不断取 n % 2 并整除 n //= 2,收集各位后逆序输出。注意 n = 0 时特判输出 0。
2. bin 函数
内置函数 bin(n)[2:] 同样可以直接获得不带 0b 前缀的二进制串。
完整程序
n = int(input())
# 十进制转二进制字符串
if n == 0:
print(0)
else:
bits = []
while n > 0:
bits.append(str(n % 2))
n //= 2
# 逆序拼接
print("".join(reversed(bits)))运行示例
输入:
13输出:
1101