【a402】十进制数转换为八进制数

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


原文地址:https://www.cnblogs.com/AWCXV/p/7632359.html