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; }