#SY04. 十进制转二进制

十进制转二进制

十进制转二进制

题目背景

银川数据中心需要将货物编号从十进制转换为二进制,以便机器读取。请你使用递归来实现这个转换。

题目描述

给定一个正整数 nn,将其转换为二进制数并输出。

要求:必须使用递归函数完成转换。

递归提示

不同于阶乘"先计算再递归",本题需要先递归再输出

  1. 递归出口:当 n=0n = 0 时,直接返回
  2. 递归调用:先处理高位,即递归调用 convert(n / 2)
  3. 回溯输出:递归返回后,输出当前位 n % 20011

例如 n=13n = 13

  • convert(13) → 调用 convert(6) → 调用 convert(3) → 调用 convert(1) → 调用 convert(0) return
  • 返回时依次输出:1, 1, 0, 1 → 结果 1101
n n/2 n%2 说明
13 6 1 最低位
6 3 0
3 1 1
1 0 最高位
0 递归出口,返回

输入格式

一个正整数 nn1n10001 \le n \le 1000)。

输出格式

nn 的二进制表示(不要前导零)。

样例 #1

输入

13

输出

1101

样例 #2

输入

8

输出

1000

样例 #3

输入

1

输出

1