十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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 分钟前
golang获取一个系统中没有被占用的端口
开发语言·后端·golang
嘴贱欠吻!3 分钟前
JavaSE基础知识
java·开发语言
逝水如流年轻往返染尘10 分钟前
Java输入输出
java·开发语言
hqwest11 分钟前
码上通QT实战03--登录逻辑
开发语言·qt·登录·嵌入式实时数据库·界面设计
Alsn8611 分钟前
29.Java中常见加解密算法的基本实现
java·开发语言·算法
独自破碎E13 分钟前
什么是Java的多态特性?
java·开发语言
superman超哥14 分钟前
仓颉GC调优参数深度解析
c语言·开发语言·c++·python·仓颉
sandyznb14 分钟前
go面试汇总
开发语言·面试·golang
1001101_QIA14 分钟前
OpenMP学习笔记
算法
誰能久伴不乏14 分钟前
Linux `epoll` 学习笔记:从原理到正确写法(含 ET 经典坑总结)
linux·服务器·网络·c++·ubuntu