ACM 纳新每日一题 4329: 三进制

首先我们要学习的是数制转化

这里我找了一篇博客
https://blog.csdn.net/weixin_53564801/article/details/123665194

一定要注意0需要单独特判一下,这个点尤其重要

然后关于这道题可以使用递归来实现,如下:

递归的代码比较简洁,但是理解起来难度较大

cpp 复制代码
#include<stdio.h>

void fun(int n)
{
    if(n==0)
    {
        return;
    }
    fun(n/3);
    printf("%d",n%3);
}

int main()
{
    int n;
    scanf("%d",&n);

    if(n==0)
    {
        printf("0\n");
    }
    else
    {
        fun(n);
    }

    return 0;
}

也可以使用字符数组来存储然后逆序输出就可以,这样符合进制转化的思路,直接将模的结果存储起来然后逆序输出就好

cpp 复制代码
#include<stdio.h>

int main()
{
    int n;
    scanf("%d",&n);

    char s[30];

    int cnt=0;

    if(n==0)
    {
        printf("0\n");
    }
    else
    {
        while(n)
        {
            s[cnt++]=n%3;
            n/=3;
        }

        for(int i=cnt-1; i>=0; i--)
        {
            printf("%d",s[i]);
        }
    }


    return 0;
}
相关推荐
不想看见40412 小时前
House Robber 基本动态规划:一维--力扣101算法题解笔记
笔记·算法·leetcode·代理模式
掘根12 小时前
【C++STL】红黑树(RBTree)
数据结构·c++·算法
我笑了OvO12 小时前
常见位运算及其经典算法题(1)
c++·算法·算法竞赛
Zevalin爱灰灰12 小时前
方法论——如何设计控制策略架构
算法·架构·嵌入式
wostcdk12 小时前
基础算法学习1
算法
Yzzz-F12 小时前
2026牛客寒假算法基础集训营1
算法
野犬寒鸦12 小时前
Java8 ConcurrentHashMap 深度解析(底层数据结构详解及方法执行流程)
java·开发语言·数据库·后端·学习·算法·哈希算法
m0_5312371712 小时前
C语言-函数递归练习
算法
回敲代码的猴子12 小时前
2月18日打卡
算法
追随者永远是胜利者12 小时前
(LeetCode-Hot100)647. 回文子串
java·算法·leetcode·职场和发展·go