audiofan wrote:
會嗎? 人家有減65...(恕刪)
減65只是把陣列的第一個值offset回0而已,佔的記憶體大小並沒影響啊
XD使者 wrote:
如果是我
我也是抓...(恕刪)
daniel35 wrote:
2.輸入一數字,以羅馬數字的方式輸出。(羅馬數字中M﹦1000, D=500,C﹦100,L=50,X=10,V=5,I=1)
羅馬數字系統源自伊特魯利亞文(Etruscan),只用7個符號,包括I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。羅馬數字並沒有0。可是按照下面的規則卻可以表示任意自然數。 一般認為這套記數系統只要用來記數卻不作演算。
(1)重複數次決定倍數:1個羅馬數字重複幾次,就表示這個數的幾倍。例如: ⅩⅩⅩ=30.
(2)右加左減:在一個較大的羅馬數字的右邊記上一個較小的羅馬數字,表示大數字加小數字。
在一個較大的數字的左邊記上1個較小的羅馬數字,表示大數字減小數字。
但是,左減不能跨越一個位數。比如,99不可以用IC表示,而是用XCIX表示。此外,左減數字不能超過1位,比如8寫成VIII,而非IIX。同理,右加數字不能超過3位,比如14寫成XIV,而非XIIII。
(3)數字上加橫線乘千或乘百萬:在1個羅馬數字的上方加上1條橫線或者在右下方寫M,表示將這個數字乘以1000,即是原數的1000倍。同理,如果上方有2條橫線,即是原數的1000000倍。
(4)數碼限制:同樣數碼最多只能出現3次,如40不能表示為XXXX,而要表示為XL。但是,由於IV是古羅馬神話主神朱庇特(IVPITER,古羅馬字母沒有J和U)的首字,因此有時用IIII代替IV。 一般大時鐘(不包刮英國大笨鐘)的時刻就以IIII代替IV,也可能是為了字體的對稱性。
gemini89a wrote:
其實第二題還蠻有趣的...(恕刪)
audiofan wrote:
喝太多茶,睡不著....(恕刪)
XD使者 wrote:
電腦做乘除法運算比加減運算慢很多
所以就用計數的方式去做吧