1027

#include<iostream>
#include<stack>
#include<string>
using namespace std;
class Colors
{
public:
	int R, G, B;
	string MC;
	void EtM()
	{
		MC += "#";
		string r, g, b;
		r = Change(R);
		g = Change(G);
		b = Change(B);
		MC += (r + g + b);
	}
private:
	string Change(int c)
	{
		string rgb;
		stack<int> color;
		while (c)
		{
			color.push(c % 13);
			c /= 13;
		}
		while (!color.empty())
		{
			int col = color.top();
			color.pop();
			As(rgb, col);
		}
		if (rgb.length() == 1)
		{
			string RGB;
			RGB = '0' + rgb;
			return RGB;
		}
		if (rgb.length() == 0)
			rgb = "00";
		
		return rgb;
	}
	void As(string &rgb,int col)
	{
		if (col < 10)
		{
			rgb += '0'+col;
		}
		else
		{
			switch (col)
			{
			case 10: rgb += "A"; break;
			case 11: rgb += "B"; break;
			case 12: rgb += "C"; break;
			}
		}
	}

};
int main()
{
	Colors C;
	cin >> C.R >> C.G >> C.B;
	C.EtM();
	cout << C.MC << endl;
	
	system("pause");
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值