十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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 分钟前
Cargo命令工具
开发语言·rust
kklovecode2 分钟前
C语言数组:零长数组,可变数组,多维数组
java·c语言·算法
0***m8224 分钟前
MATLAB高效算法实战技术文章大纲向量化运算替代循环结构
开发语言·算法·matlab
AY呀5 分钟前
《从赛车到代码:我是如何理解深度优先搜索的》
算法
flysh056 分钟前
委托实战案例
开发语言·c#
又见野草7 分钟前
C++入门基础(初阶)
开发语言·c++
不知名XL7 分钟前
day22 回溯算法part04
算法·leetcode·职场和发展
Yu_Lijing8 分钟前
基于C++的《Head First设计模式》笔记——命令模式
c++·笔记·设计模式
szm022511 分钟前
Java并发
java·开发语言
一念春风11 分钟前
可视化视频编辑(WPF C#)
开发语言·c#·wpf