1027. Colors in Mars (20)


时间限制


400 ms


内存限制


65536 kB


代码长度限制


16000 B


判题程序


Standard


作者


CHEN, Yue


People in Mars represent the colors in their computers in a similar way as the Earth people. That is, a color is represented by a 6-digit number, where the first 2 digits are for Red, the middle 2 digits for Green, and the last 2 digits for Blue. The only difference is that they use radix 13 (0-9 and A-C) instead of 16. Now given a color in three decimal numbers (each between 0 and 168), you are supposed to output their Mars RGB values.

Input

Each input file contains one test case which occupies a line containing the three decimal color values.

Output

For each test case you should output the Mars RGB value in the following format: first output "#", then followed by a 6-digit number where all the English characters must be upper-cased. If a single color is only 1-digit long, you must print a "0" to the left.

Sample Input

15 43 71

Sample Output

#123456


3个10进制数,范围0-168,把它用转换撑用13进制表示的RGB且每个要占两位
比如    6十进制变换后06十三进制
12十进制变换后0C十三进制
13十进制变换后10十三进制
下面的三个代码在测试中的效果一样



评测结果

时间

结果

得分

题目

语言

用时(ms)

内存(kB)

用户

8月01日

10:20

答案正确

​20​

​1027​

​C++ (g++ 4.7.2)​

1

436

​datrilla​

测试点

测试点

结果

用时(ms)

内存(kB)

得分/满分

0

答案正确

1

180

10/10

1

答案正确

1

436

2/2

2

答案正确

1

308

2/2

3

答案正确

1

308

2/2

4

答案正确

1

308

2/2

5

答案正确

1

300

2/2

#include<iostream>   
#include<string>
using namespace std;
char getRadix(int num)
{
if (num <= 9)
return num + '0';
return num + 'A' - 10;

}
int main()
{
int red, green, blue;
cin >> red >> green >> blue;
cout << "#";
cout << getRadix(red / 13)<< getRadix(red % 13) << getRadix(green / 13) << getRadix(green % 13)<< getRadix(blue / 13)<< getRadix(blue % 13) << endl;
system("pause");
return 0;
}



================================================


#include<iostream>   
#include<string>
using namespace std;
char getRadix(int num)
{
if (num <= 9)
return num + '0';
return num + 'A' - 10;

}
int main()
{
int red, green, blue;
string RGB;
cin >> red >> green >> blue;
RGB+= getRadix(red / 13) ;
RGB += getRadix(red % 13);
RGB += getRadix(green / 13);
RGB += getRadix(green % 13);
RGB += getRadix(blue / 13);
RGB += getRadix(blue % 13);
cout << "#" << RGB << endl;
system("pause");
return 0;
}
=========================================================


#include<iostream>   
#include<string>
using namespace std;
string getRadix(int num)
{
char c;
string str;
if (num <= 9)
c= num + '0';
else c= num + 'A' - 10;
str = c ;
return str;
}
int main()
{
int red, green, blue;
string RGB;
cin >> red >> green >> blue;
RGB= getRadix(red / 13)+getRadix(red % 13)+getRadix(green / 13) + getRadix(green % 13) + getRadix(blue/13) + getRadix(blue%13);
cout << "#" << RGB << endl;
system("pause");
return 0;
}


====================================


下面的这个在pat上面是不可以的,在vs2013社区版可以。想了想,我当初做的数据库用的是C#,有的用中文命名,感觉在其他环境下可能动不了。


#include<iostream>   
#include<string>
using namespace std;
char 转成十三进制(int 目标)
{
if (目标 <= 9)
return 目标 + '0';
return 目标 + 'A' - 10;

}
int main()
{
int 红, 绿, 蓝;
cin >> 红>>绿>>蓝;
cout << "#";
cout << 转成十三进制(红 / 13) << 转成十三进制(红 % 13) << 转成十三进制(绿 / 13) << 转成十三进制(绿 % 13) << 转成十三进制(蓝 / 13) << 转成十三进制(蓝 % 13) << endl;
system("pause");
return 0;
}