PAT-------甲级1027. Colors in Mars (20)

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

题目意思就是给你三个数,让你转成13进制输出,要求:

1.前面加“”#“”

2.每个转化成13进制后的数字都是两位数,不够两位数的补零

#include <bits/stdc++.h>

using namespace std;
int num[10005];
char col[3]= {'A','B','C'};

void f(int a)                ///随便起的名字,作用:打印数字
{
    memset(num,0,sizeof(num));
    int k=0;
    while(a!=0)
    {
        num[k++] = a%13;
        a = a/13;
    }
    if(k==1)
    {
        if(num[0]<=9)
        {
            cout<<0<<num[0];
        }else
        {
            cout<<0<<col[num[0]-10];
        }
    }
    else
    {
        for(int i=k-1; i>=0; i--)
        {
            if(num[i]>9)
            {
                cout<<col[num[i]-10];
                continue;
            }
            cout<<num[i];
        }
    }

}
bool pd(int x)                        ///由于上面f函数的局限性,用来判断x是否为零
{
    if(x==0)
        return false;
    return true;
}
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    cout<<"#";
    if(pd(a))
        f(a);
    else
        cout<<0<<0;
    if(pd(b))
        f(b);
    else
        cout<<0<<0;
    if(pd(c))
        f(c);
    else
        cout<<0<<0;
    return 0;
}




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38851184/article/details/79952250
上一篇python中的时间控制
下一篇1048. 数字加密(20)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭