平衡三进制

news2025/6/3 18:57:44

平衡三进制 - OI Wiki

https://oi-wiki.org/math/balanced-ternary/

上海市计算机学会竞赛平台 | YACS

方法一,先分离后进位

#include <iostream>
using namespace std;
int n, a[100], cnt;
bool flag;
int main()
{
    cin >> n;
    if(n==0){
        cout << 0 << endl;
        return 0;
    }
    if(n<0){
        n=-n;
        flag=true;
    }
    while(n){
        cnt++;
        a[cnt]=n%3;
        n/=3;
    }
    for(int i=1; i<=cnt+1; ++i){
        if(a[i]==2){
            a[i]=-1;
            a[i+1]+=1;
        }
        else if(a[i]==3){
            a[i]=0;
            a[i+1]+=1;
        }
    }
    if(a[cnt+1]){
        cnt++;
    }
    if(flag){
        for(int i=cnt; i>=1; --i){
            if(a[i]==1){
                cout << "z";
                continue;
            }
            if(a[i]==-1){
                a[i]=1;
            }
            cout << a[i];
        }
    }
    else{
        for(int i=cnt; i>=1; --i){
            if(a[i]==-1){
                cout << "z";
            }
            else{
                cout << a[i];
            }
        }
    }
    return 0;
}

方法二,边分离边进位

#include <iostream>
using namespace std;
int n, a[100], cnt;
bool flag;
int main()
{
    cin >> n;
    if(n==0){
        cout << 0 << endl;
        return 0;
    }
    if(n<0){
        n=-n;
        flag=true;
    }
    while(n){
        cnt++;
        a[cnt]+=n%3;
        if(a[cnt]==2){
            a[cnt]=-1;
            a[cnt+1]+=1;
        }
        else if(a[cnt]==3){
            a[cnt]=0;
            a[cnt+1]+=1;
        }
        n/=3;
    }
    if(a[cnt+1]){
        cnt++;
    }
    if(flag){
        for(int i=cnt; i>=1; --i){
            if(a[i]==1){
                cout << "z";
                continue;
            }
            if(a[i]==-1){
                a[i]=1;
            }
            cout << a[i];
        }
    }
    else{
        for(int i=cnt; i>=1; --i){
            if(a[i]==-1){
                cout << "z";
            }
            else{
                cout << a[i];
            }
        }
    }
    return 0;
}

延伸题目:

Topcoder SRM 604 div1题解-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2395930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

960g轻薄本,把科技塞进巧克力盒子

朋友们&#xff0c;谁懂啊 最近本打工人被同事疯狂种草了一款 “巧克力盒子” 华硕灵耀 14 Air 骁龙版&#xff01; 960g的重量比一瓶大可乐还轻 塞进通勤包毫无压力 连健身房的瑜伽垫都能多卷两圈 这台行走的生产力工具&#xff0c;到底有啥魔法&#xff1f; 今天就带…

xcode 编译运行错误 Sandbox: rsync(29343) deny(1) file-write-create

解决方法 方法一&#xff1a;修改Targets -> Build Settings 中 ENABLE_USER_SCRIPT_SANDBOXING 设置 NO 方法二&#xff1a;项目使用cocoaPods进行三方管理 且 使用了 use_frameworks&#xff0c;把 use_frameworks 注释掉,然后重新自行pod install

C# 基于 Windows 系统与 Visual Studio 2017 的 Messenger 消息传递机制详解:发布-订阅模式实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…

ComfyUI+阿里Wan2.1+内网穿透技术:本地AI视频生成系统搭建实战

文章目录 前言1.软件准备1.1 ComfyUI1.2 文本编码器1.3 VAE1.4 视频生成模型 2.整合配置3. 本地运行测试4. 公网使用Wan2.1模型生成视频4.1 创建远程连接公网地址 5. 固定远程访问公网地址总结 前言 各位技术爱好者&#xff0c;今天为您带来一组创新性的AI应用方案&#xff01…

利用海外代理IP,做Twitter2026年全球趋势数据分析

近年来&#xff0c;社交媒体趋势分析逐渐成为品牌监控、市场洞察和消费者研究的必备工具。而当谈到全球趋势数据分析&#xff0c;很多人都会立即想到 Twitter趋势&#xff08;逼近连美丽国的总统都喜欢在上面发表自己的看法- -!!!&#xff09;。Twitter趋势&#xff0c;即Twitt…

pikachu靶场通关笔记06 XSS关卡02-反射型POST

目录 一、XSS 二、反射型XSS 三、POST型报文 四、GET型与POST型区别 五、代码审计 五、渗透实战 1、渗透方法1 2、渗透方法2 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关&#xff09;渗透集合&#xff0c;通过对XSS关卡源码的代码审计找到XSS风险的真实原因&…

SQLiteStudio - 免费开源、轻量高效,跨平台的 SQLite 数据库管理工具,代替 Navicat for SQLite

管理 SQLite 数据库就用这款软件&#xff0c;真的早该摒弃破解和盗版的 Navicat 了。 SQLiteStudio 是一款专注于管理 SQLite 数据库 的桌面软件&#xff0c;用于浏览和编辑 SQLite 数据库文件。软件的作者是来自波兰的开发者 Paweł Salawa&#xff0c;他是一位拥有 20 年 Ja…

Prometheus + Grafana + Cadvisor:构建高效企业级服务监控体系

在现代软件开发和运维领域&#xff0c;容器化技术的应用越来越广泛&#xff0c;其中 Docker 作为最受欢迎的容器化解决方案之一&#xff0c;其容器的监控管理变得至关重要。本文将详细介绍如何使用 cadvisor、Prometheus 和 Grafana 来监控 Docker 容器的状态。 一、安装镜像 …

WEBSTORM前端 —— 第3章:移动 Web —— 第2节:空间转换、转化

目录 一、空间转换 1.空间转换 2.空间转换 – 平移 3.视距 perspective 4.空间 – 旋转 ③空间旋转——Z轴代码与效果视频 ④空间旋转——X轴代码与效果视频 ⑤空间旋转——Y轴代码与效果视频 5.立体呈现 – transform-style 案例 – 3D 导航 6.空间转换 – 缩放 …

Java研学-MongoDB(一)

一 MongoDB 简介 MongoDB是一种高性能、开源的NoSQL数据库&#xff0c;采用面向文档的存储模型&#xff0c;以BSON&#xff08;Binary JSON&#xff09;格式存储数据&#xff0c;具有灵活的数据模型、强大的扩展性和丰富的功能特性&#xff0c;广泛应用于各类现代应用程序的数据…

【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析

今天我们来聊聊大模型领域一个非常火热的技术——RAG&#xff08;Retrieval Augmented Generation&#xff09;。RAG通过引入外部知识库&#xff0c;有效地缓解了大型语言模型&#xff08;LLM&#xff09;在处理知识密集型任务时可能出现的幻觉、知识过时等问题。然而&#xff…

服务器带宽线路的区别(GIA、CN2、BGP、CMI等)

服务器带宽线路的区别&#xff08;GIA、CN2、BGP、CMI等&#xff09; 一、BGP线路 1. 定义与技术特点 BGP&#xff08;Border Gateway Protocol&#xff0c;边界网关协议&#xff09;是一种用于不同自治系统&#xff08;AS&#xff09;之间交换路由信息的协议&#xff0c;属…

ppt一键制作:ai自动生成PPT,便捷高效超级精美!

深夜的台灯下&#xff0c;你对着杂乱的 PPT 内容反复刷新灵感&#xff0c;鼠标在字体、配色选项间来回穿梭&#xff0c;好不容易拼凑出的页面&#xff0c;却总透着浓浓的 “廉价感”&#xff1b;汇报在即&#xff0c;逻辑混乱的大纲改了又改&#xff0c;每一页感觉合适又不搭&a…

Maven(黑马)

Maven 是一个强大的项目管理和构建自动化工具&#xff0c;主要用于 Java 项目的构建、依赖管理和文档生成。它通过使用 POM&#xff08;Project Object Model&#xff09;文件来管理项目的配置和依赖关系&#xff0c;从而实现项目的自动化构建和管理。以下是 Maven 的一些核心概…

将手机网络经USB数据线和本地局域网共享给华为AP6050DN无线接入点

引言 由于最近装毕的新家所在的小区未能及时通宽带,于是家中各类无线设备如何上网就成了首要要解决的问题。 鉴于家中要联网的设备多、类型杂、支持频段也不一,总是开手机热点不是回事儿,于是就想着把手机网络引至华为AP6050DN无线接入点中,让家中所有的无线设备都能快速高…

【论文解读】Deformable DETR | Deformable Transformers for End-to-End Object Detection

论文地址&#xff1a;https://arxiv.org/pdf/2010.04159 代码地址&#xff1a;https://github.com/fundamentalvision/Deformable-DETR 摘要 DETR最近被提出&#xff0c;旨在消除物体检测中许多手工设计的组件的需求&#xff0c;同时展示出良好的性能。然而&#xff0c;由于T…

机器学习----决策树

一、决策树简介 from sklearn.tree import DecisionTreeClassifier from sklearn.tree import plot_tree 决策树是一种树形结构&#xff0c;树中每个内部节点表示一个特征上的判断&#xff0c;每个分支代表一个判断结果的输出&#xff0c;每个叶子节点代表一种分类结果。 决…

LabVIEW输血袋字符智能检测系统

针对医疗行业输血袋字符检测需求&#xff0c;基于 LabVIEW 图形化开发平台与基恩士&#xff08;KEYENCE&#xff09;机器视觉硬件&#xff0c;构建高精度、高可靠性的字符在线识别系统。通过选用基恩士工业相机、光源及 NI 数据采集设备等硬件&#xff0c;结合 LabVIEW 强大的图…

理解频域滤波

1 频域滤波基础 对一幅数字图像&#xff0c;基本的频率滤波操作包括&#xff1a; 1&#xff09;将图像变换到频率域&#xff1b; 2&#xff09;根据需要修改频率域数值&#xff1b; 3&#xff09;反变换到图像域。 使用公式表达为 &#xff0c; H(u,v) 为滤波器&#xff08;滤…

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(一)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…