练习题——【学习补档】进制转化

问题描述

输入描述:
输入一个正整数n (1 ≤ n ≤ 109)

输出描述:
输出一行,为正整数n表示为六进制的结果

示例1
输入:6
输出:10

示例2
输入:120
输出:320

问题分析

这是一个进制转换问题。

解决方案

满六进一,通过一个递归进行除法运算,并且深运算所得数陆续放在前面。
所得的六进制数,每一位都是递归计算的相应一层模6所得。

如下图:有两层递归运算,第一层递归将39模6后得到了3,往下一层传6,第二层递归将函数所得数模6得0,往下传6,第三层6除以6得1.
在这里插入图片描述

代码

#include <stdio.h>
#include<math.h>
void fond(int x)
{
    if(x>5)
    {
        fond(x/6);
    }
    printf("%d",x%6);
}
int main() 
{
    int input=0;
    int i=0;
    scanf("%d",&input);
    fond(input);
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值