十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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;
}
相关推荐
旷世奇才李先生8 分钟前
Python\+ERNIE实战:字节跳动式AI内容审核完整实现(附源码)
开发语言·人工智能·python
大彼方..11 分钟前
深入学习cpp初阶模板
开发语言·c++·学习
实心儿儿12 分钟前
Linux —— 进程概念 - 程序地址空间
linux·运维·算法
菜鸟丁小真16 分钟前
LeetCode hot100-287.寻找重复数和994.腐烂的橘子
数据结构·算法·leetcode·知识点总结
老四啊laosi22 分钟前
[C++进阶] 25. C++11新特性(一)
c++·c++11·右值
咸鱼翻身小阿橙32 分钟前
QT-P3
开发语言·qt·计算机视觉
心易行者39 分钟前
代码写好了,然后呢?——手把手教你把Python脚本变成能赚钱的Web应用
开发语言·前端·python
AKA__Zas41 分钟前
初识 事务
java·开发语言·数据库·sql
今儿敲了吗43 分钟前
常用UI组件
开发语言
零号全栈寒江独钓44 分钟前
基于c/c++实现linux/windows跨平台ntp时间戳服务器
linux·c语言·c++·windows