十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!100赞买个乒乓球拍!_哔哩哔哩_bilibili

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

求解程序:

cpp 复制代码
using namespace std;
#include <iostream>
#include <cstring>
 
 
string work(int n)
{
	if(n==0)return "";
	
	if( n%3 == 2 || n%3 == -1 )return work((n+1)/3)+ "T";
	else if( n%3 == 1 || n%3 == -2 )return work((n-1)/3)+"1";
	else return work(n/3)+"0";
}
 
int main()
{
	int n;
	cin >> n;
	string s_str=(n==0)?"0":work(n);
	cout << s_str <<endl;
	return 0;
}
相关推荐
XWalnut几秒前
LeetCode刷题 day9
java·算法·leetcode
bIo7lyA8v几秒前
算法稳定性分析中的随机扰动建模的技术9
算法
aini_lovee4 分钟前
C# 快速搜索磁盘文件解决方案
开发语言·c#
小陈工4 分钟前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归
谢白羽9 分钟前
vllm抢占机制详解
算法·vllm
Hello--_--World9 分钟前
Vue2的 双端 diff算法 与 Vue3 的 快速diff 算法
前端·vue.js·算法
零二年的冬9 分钟前
epoll详解
java·linux·开发语言·c++·链表
凭君语未可16 分钟前
Java 中的接口是什么
java·开发语言
XiYang-DING17 分钟前
【Java】二叉树
java·开发语言·数据结构
坚持编程的菜鸟17 分钟前
The Blocks Problem
数据结构·c++·算法