火星人用 13 進制(0-9, A-C)表示顏色,6 位數:前 2 位紅、中 2 位綠、後 2 位藍。給定三個十進制值(0~168),輸出火星 RGB 格式(大寫,不足兩位補 0,前綴 #)。
#RRGGBB。#include <cstdio>
#include <vector>
using namespace std;
void print13(int x) {
vector<int> d;
if (x == 0) { d.push_back(0); d.push_back(0); }
else {
while (x) { d.push_back(x % 13); x /= 13; }
if (d.size() == 1) d.push_back(0);
}
for (int i = d.size() - 1; i >= 0; --i) {
if (d[i] < 10) printf("%d", d[i]);
else printf("%c", 'A' + d[i] - 10);
}
}
int main() {
int r, g, b; scanf("%d%d%d", &r, &g, &b);
printf("#"); print13(r); print13(g); print13(b); printf("\n");
return 0;
}
輸入: 15 43 71 15 = 1*13 + 2 → "12" 43 = 3*13 + 4 → "34" 71 = 5*13 + 6 → "56" 輸出: #123456