十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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;
}
相关推荐
virus59454 小时前
悟空CRM mybatis-3.5.3-mapper.dtd错误解决方案
java·开发语言·mybatis
一匹电信狗4 小时前
【LeetCode_547_990】并查集的应用——省份数量 + 等式方程的可满足性
c++·算法·leetcode·职场和发展·stl
初次见面我叫泰隆4 小时前
Qt——3、常用控件
开发语言·qt·客户端
鱼跃鹰飞4 小时前
Leetcode会员尊享100题:270.最接近的二叉树值
数据结构·算法·leetcode
Queenie_Charlie5 小时前
小陶的疑惑2
数据结构·c++·树状数组
无小道5 小时前
Qt——QWidget
开发语言·qt
时艰.5 小时前
Java 并发编程之 CAS 与 Atomic 原子操作类
java·开发语言
梵刹古音5 小时前
【C语言】 函数基础与定义
c语言·开发语言·算法
筵陌6 小时前
算法:模拟
算法
梵刹古音6 小时前
【C语言】 结构化编程与选择结构
c语言·开发语言·嵌入式