6
A
回答
2
我會考慮從右到左的解析。
首先,我將映射單元柱:
0 -> ''
1 -> 'I'
2 -> 'II'
3 -> 'III'
4 -> 'IV'
...
9 -> 'IX'
然後,如果有一個第二柱(例如,第二從右側=幾十柱),我會使用映射到
0 -> ''
1 -> 'X'
2 -> 'XX'
...
9 -> 'XC'
這將需要預先添加到初始輸出。
重複下一列(數百,數千),直到用完字母。
仔細檢查數字是不是'0'或否定的。
2
另一種方法是以二維數組的形式存儲1,5,10,50,100,500,1000等的羅馬數字。示例(在PHP數組中):
$roman = array(
[0] = array(1=>"I", 5=>"V", 10=>"X"),
[1] = array(1=>"X", 5=>"L", 10=>"C"),
[2] = array(1=>"C", 5=>"D", 10=>"M"),
[3] = array(1=>"M", 5=>"^V", 10=>"^X"),
);
然後從右到左取每個數字並應用以下翻譯。設置一個變量$水平= 0和處理的每個數字後增加1它的值:( '' 在PHP concats兩個字符串)
1 => $roman[$level][1]
2 => $roman[$level][1].$roman[$level][1]
3 => $roman[$level][1].$roman[$level][1].$roman[$level][1]
4 => $roman[$level][1].$roman[$level][5]
5 => $roman[$level][5]
6 => $roman[$level][5].$roman[$level][1]
7 => $roman[$level][5].$roman[$level][1].$roman[$level][1]
8 => $roman[$level][5].$roman[$level][1].$roman[$level][1].$roman[$level][1]
9 => $roman[$level][1].$roman[$level][10]
實施例:1945年
5 => $roman[0][5] = "V"
4 => $roman[1][1].$roman[1][5] = "XL"
9 => $roman[2][1].$roman[2][10] = "CM"
1 => $roman[3][1] = "M"
所以翻譯的數字是「MCMXLV」
對不起,這可能不完全回答你的問題,但我希望它以任何方式幫助..
2
接下來是語法來表示從數字格式1xxx到羅馬數字的語法指導翻譯。
number = OneThousand digit3 digit2 digit1 | nzdigit3 digit2 digit1 | nzdigit2 digit1 | nzdigit1
(> DCC')nzdigit3 - > 8OneThousand - > 1 {打印( 'M')}
digit3 - > 0 digit3 - > nzdigit3
nzdigit3 - > 1張打印( 'C')nzdigit3 - > 2打印('CC')nzdigit3 - > 3 print('CCC')nzdigit3 - > 4 print('CCCC')nzdigit3 - > 5 print('D') nzdigit3 - > 6 print('DC')nzdigit3 - ('DCCC')nzdigit3 - > 9 print('DCCCc')
以類似的方式爲2位和1位的數字寫入定義,您將需要翻譯。
相關問題
- 1. 將羅馬數字轉換爲整數
- 2. Matlab將整數轉換爲羅馬
- 3. 如何將整數值轉換爲羅馬數字字符串?
- 4. 將Int轉換爲羅馬數字
- 5. 將整數轉換爲羅馬數字(python)
- 6. 將羅馬數字轉換爲整數值?
- 7. 如何將羅馬數字轉換爲PHP中的整數?
- 8. 在javascript中將羅馬數字轉換爲整數
- 9. 將羅馬數字轉換爲Java中的整數
- 10. C++:將整數轉換爲羅馬數字時出現混亂
- 11. 使用C++中的查找語句將羅馬數字轉換爲數字
- 12. 轉換小數爲羅馬數字
- 13. 從數字轉換爲羅馬符號
- 14. 將數字轉換爲羅馬數字嗎?
- 15. 將羅馬數字轉換爲數字邏輯錯誤java
- 16. 將數字轉換爲羅馬數字的c程序
- 17. 羅馬數字整數
- 18. 使用JavaScript的羅馬數字翻譯器
- 19. 將羅馬數字轉換爲小數C++
- 20. C++將羅馬數字轉換爲小數
- 21. 故障轉換羅馬數字爲阿拉伯語格式使用數組
- 22. 用sed來羅馬數字轉換爲阿拉伯數字
- 23. 我想弄清楚如何將羅馬數字轉換爲整數
- 24. 語法指導翻譯
- 25. 語法指導翻譯
- 26. 將數字格式爲羅馬數字?
- 27. 用羅馬數字替換數字
- 28. 如何將羅馬數字轉換爲整數,同時使用標準C拒絕無效數字?
- 29. 用羅馬將SyndFeed轉換爲SyndEntry
- 30. 爲什麼我會用羅馬尼亞語翻譯IMDB結果?
看起來像一個家庭作業問題,聞起來像一個功課問題...;-) – 2008-11-06 03:41:07
是的,我知道......我希望我能證明我沒有作弊。 對於CS學生來說,這實際上是一個家庭作業問題......只是,不是我,我只是自己閱讀這本書,沒有老師(或知識足夠的朋友)去問。 – 2008-11-06 12:08:24