十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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 小时前
C++编译期多态实现
开发语言·c++·算法
scx201310042 小时前
20260129LCA总结
算法·深度优先·图论
2301_765703142 小时前
C++中的协程编程
开发语言·c++·算法
m0_748708052 小时前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习3 小时前
【算法——c/c++]
c语言·c++·算法
lly2024063 小时前
jQuery Mobile 表格
开发语言
智码未来学堂3 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
惊讶的猫3 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
Halo_tjn3 小时前
基于封装的专项 知识点
java·前端·python·算法
春日见4 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶