Time Limit: 1 second
Memory Limit: 32 MB
【问题描述】
用递归算法把任一给定的十进制正整数m(m≤32000)转换成八进制数输出。(要求:同学在做本题时用递归和非递归分别实现)【输入格式】
仅一行,十进制正整数m(m≤32000)
【输出格式】
仅一行,十进制正整数m所对应的八进制数
【输入样例】
10
【输出样例】
12
【题解】
这是原理图。
然后用递归的程序。因为这样可以保证是逆序输出的。
还是很优秀的。
【代码】
#include <cstdio>
void get_ans(int x)
{
if (x == 0)
return;
get_ans(x/8); //一直除
printf("%d",x % 8); //然后输出mod值
}
int main()
{
int n;
scanf("%d",&n);
get_ans(n);
return 0;
}