1027 Colors in Mars
阿新 • • 發佈:2018-12-17
題目大意:
三個數,轉換為13進位制,不足補0。
解題思路:
進位制轉換 程式碼如下:
#include<iostream> #include<cstdio> #include<fstream> #include<set> #include<cmath> #include<cstring> #include<string> #include<map> #include<vector> #include<iomanip> #include<cstdlib> #include<list> #include<queue> #include<stack> #include<algorithm> #define inf 0x3f3f3f3f #define MOD 1000000007 #define mem0(a) memset(a,0,sizeof(a)) #define mem1(a) memset(a,-1,sizeof(a)) #define meminf(a) memset(a,inf,sizeof(a)) //vector ::iterator it; //set<int>::iterator iter; typedef long long ll; typedef unsigned long long ull; using namespace std; char judge(int n) { if(n==10)return 'A'; else if(n==11)return 'B'; else if(n==12)return 'C'; else return n+'0'; } int main() { std::ios::sync_with_stdio(false); cin.tie(0); int a,b,c,la=0,lb=0,lc=0; char red[100]={0},blue[100]={0},green[100]={0}; cin>>a>>b>>c; while(a)//轉換a { int t=a%13; red[la++]=judge(t); a/=13; } while(b) { int t=b%13; blue[lb++]=judge(t); b/=13; } while(c) { int t=c%13; green[lc++]=judge(t); c/=13; } reverse(red,red+la);reverse(blue,blue+lb);reverse(green,green+lc);//翻轉一下 cout<<'#'<<setw(2)<<setfill('0')<<red<<setw(2)<<setfill('0')<<blue<<setw(2)<<setfill('0')<<green<<endl;//記得補0 //freopen("test.txt","r",stdin); //freopen("output.txt","w",stdout); return 0; }