PTA 7-249 递归函数输出一个十进制整数的二进制形式
分数 100
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数,函数的参数是整数N,在函数中输出整数N的二进制形式。主函数中输入整数a和b,输出从a到b的所有整数的二进制形式。
输入样例:
10 15
输出样例:
1010
1011
1100
1101
1110
1111
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
void binary(int inte){
if(inte == 0) //该十进制整数数为0时
return;
binary(inte / 2); //调用自身
printf("%d", inte % 2); //输出余数
}
int main(){
int a, b;
scanf("%d %d", &a, &b);
for(int i = a; i <= b; i++){ //循环范围内的十进制整数
binary(i); //调用函数
printf("\n"); //换行
}
return 0;
}
解题思路:
用短除法的思想每次除2的余数就是该二进制数的一位,第一次除就是二进制数的最后一位,以此类推;因为递归输出是逆序输出,所以输出后就是二进制数
归属知识点:
递归