十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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;
}
相关推荐
_日拱一卒2 分钟前
LeetCode:最长连续序列
算法·leetcode·职场和发展
2401_879503416 分钟前
C++与FPGA协同设计
开发语言·c++·算法
重生之后端学习17 分钟前
287. 寻找重复数
数据结构·算法·leetcode·深度优先·图论
抓个马尾女孩21 分钟前
位置编码:绝对位置编码、相对位置编码、旋转位置编码
人工智能·深度学习·算法·transformer
asom2236 分钟前
DDD(领域驱动设计) 核心概念详解
java·开发语言·数据库·spring boot
今儿敲了吗43 分钟前
46| FBI树
数据结构·c++·笔记·学习·算法
小辉同志1 小时前
139. 单词拆分
算法·动态规划
oem1101 小时前
C++中的访问者模式变体
开发语言·c++·算法
IronMurphy1 小时前
【算法二十七】230. 二叉搜索树中第 K 小的元素 199. 二叉树的右视图
算法·深度优先
SuperEugene1 小时前
JS/TS 编码规范实战:Vue 场景变量 / 函数 / 类型标注避坑|编码语法规范篇
开发语言·javascript·vue.js