火星におけるA1027色(20分)

1027 火星の色 (20分)

まず第一に、神は、最初の劉さんのブログを掲載しました

https://www.liuchuo.net/これはアドレスです

良いブラシPTA、強く推奨柳神、およびアルゴリズムのメモをブログしたいです

火星の人々は地球の人々と同様の方法で、自分のコンピュータで色を表します。すなわち、色は最初の2桁がためである6桁の数字で表されRed、のための中央の2桁Green、及びの最後の2桁Blue唯一の違いは、彼らが今3桁の数字(0と168の間のそれぞれ)に色を与え代わりに、16の基数13(0-9及びAC)を使用することで、あなたは、それら火星RGB値を出力するようになっています。

入力仕様:

各入力ファイルは、三進カラー値を含む行を占有する一つのテストケースを含んでいます。

出力仕様:

次の形式で出力火星RGB値をすべき各テストケースのために:第一の出力#は、すべての英語の文字が大文字にされなければならない6桁の数字が続きます。単一色のみ1桁の長さである場合は、印刷する必要があり0、その左に。

サンプル入力:

15 43 71  

サンプル出力:

#123456

効果の対象に

バンドを変更することで、3つの10進数、16進数10、11はA、B、Cの代わりにすることによって13に変換されます。

ゼロでパディング下、各デジタル出力は、2であるべきです

コードは以下の通りです

#include<iostream>
#include<cmath>
using namespace std;
int main(void) {
    int Red[3];
    char r[7] = {'0'};
    for (int i = 0; i < 7; i++) {
        r[i] = '0';
    }
    cin >> Red[0] >> Red[1] >> Red[2];
    for (int i = 0; i < 3; i++) {
        while (Red[i]) {
            if (Red[i] % 13 >= 10) {
                r[i * 2 + 1] = Red[i] % 13+55;
            }
            else {
                r[i * 2 + 1] = Red[i] % 13 + 48;
            }
            Red[i] /= 13;
            if (Red[i] % 13 >= 10) {
                r[i * 2] = Red[i] % 13 + 55;
            }
            else {
                r[i * 2] = Red[i] % 13 + 48;
            }
            Red[i] /= 13;

        }
    }
    printf("#");
    for (int i = 0; i < 6; i++) {
        printf("%c", r[i]);
    }
    return 0;
}

おすすめ

転載: www.cnblogs.com/a-small-Trainee/p/12359703.html