#SY04. 十进制转二进制
十进制转二进制
十进制转二进制
题目背景
银川数据中心需要将货物编号从十进制转换为二进制,以便机器读取。请你使用递归来实现这个转换。
题目描述
给定一个正整数 ,将其转换为二进制数并输出。
要求:必须使用递归函数完成转换。
递归提示
不同于阶乘"先计算再递归",本题需要先递归再输出:
- 递归出口:当 时,直接返回
- 递归调用:先处理高位,即递归调用
convert(n / 2) - 回溯输出:递归返回后,输出当前位
n % 2( 或 )
例如 :
- 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 | — | 递归出口,返回 | |
输入格式
一个正整数 ()。
输出格式
的二进制表示(不要前导零)。
样例 #1
输入
13
输出
1101
样例 #2
输入
8
输出
1000
样例 #3
输入
1
输出
1