十进制整数转平衡三进制

求解原视频:平衡三进制 求赞!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;
}
相关推荐
W.A委员会8 小时前
JS原型链详解
开发语言·javascript·原型模式
止语Lab8 小时前
Go并发编程实战:Channel 还是 Mutex?一个场景驱动的选择框架
开发语言·后端·golang
她说彩礼65万9 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
绿浪19849 小时前
c# 中结构体 的定义字符串字段(性能优化)
开发语言·c#
房开民9 小时前
可变参数模板
java·开发语言·算法
t***54410 小时前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
不知名的忻10 小时前
Morris遍历(力扣第99题)
java·算法·leetcode·morris遍历
状元岐10 小时前
C#反射从入门到精通
java·javascript·算法
itman30110 小时前
C语言、C++与C#深度研究:从底层到现代开发演进全解析
c语言·c++·c·内存管理·编译模型
_深海凉_11 小时前
LeetCode热题100-除了自身以外数组的乘积
数据结构·算法·leetcode