PAT 乙級 1044 火星數字

2021-09-20 07:33:28 字數 1503 閱讀 7151

火星人是以 13 進製計數的:

地球人的 0 被火星人稱為 tret。

地球人數字 1 到 12 的火星文分別為:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。

火星人將進製以後的 12 個高位數字分別稱為:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。

例如地球人的數字 29 翻譯成火星文就是 hel mar;而火星文 elo nov 對應地球數字 115。為了方便交流,請你編寫程式實現地球和火星數字之間的互譯。

輸入格式:

輸入第一行給出乙個正整數 n(<100),隨後 n 行,每行給出乙個 [0, 169) 區間內的數字 —— 或者是地球文,或者是火星文。

輸出格式:

對應輸入的每一行,在一行中輸出翻譯後的另一種語言的數字。

輸入樣例:

4295

elo nov

tam

輸出樣例:

hel mar

may115

13

解析:就是乙個簡單的10進製-13進製的轉換,需要注意的就是,當那個數恰好為13的倍數的時候,不用輸出低位的0。題目給的輸入也是一樣,當只輸入乙個字母的時候需要判斷一下是低位的還是高位的。

#include

#define fin freopen("in.txt", "r", stdin)

using

namespace std;

typedef

long

long ll;

const

int maxn =

1005

;string low[13]

=;string up[13]

=;void

ismar

(string s)

for(

int i =

0; i <

13; i++)if

(low[i]

== d)

cout << h *

13+ l <<

"\n";}

else

if(l ==-1

)for

(int i =

0; i <

13; i++)if

(up[i]

== u)

cout << h *

13+ l <<

"\n";}

}void

isearth

(string s)

else

}int

main()

return0;

}

PAT 乙級 1044 火星數字

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 火星人是以13進製計數的 例如地球人的數字 29 翻譯成火星文就是 hel mar 而火星文 elo nov 對應地球數字 115 為了方便交流,請你編寫程式實現地球和火...

PAT(乙級) 1044 火星數字

火星人是以 13 進製計數的 例如地球人的數字29翻譯成火星文就是hel mar 而火星文elo nov對應地球數字115。為了方便交流,請你編寫程式實現地球和火星數字之間的互譯。輸入第一行給出乙個正整數 n 100 隨後 n 行,每行給出乙個 0,169 區間內的數字 或者是地球文,或者是火星文。...

PAT乙級 1044 火星數字

火星人是以 13 進製計數的 地球人的 0 被火星人稱為 tret。地球人數字 1 到 12 的火星文分別為 jan,feb,mar,apr,may,jun,jly,aug,sep,oct,nov,dec。火星人將進製以後的 12 個高位數字分別稱為 tam,hel,maa,huh,tou,kes,...