翻译号码罗马

时间:2017-11-25 17:41:26

标签: blockly

我需要用块状代码编写程序,将阿拉伯语中的数字翻译成罗马语,最高可达4000,但我不知道我做错了什么。

我只能使用函数,变量,数学和逻辑(附加的html代码)。 谁能帮助我呢,我会感恩的;))

https://blockly-demo.appspot.com/static/demos/code/index.html#zq536j

1 个答案:

答案 0 :(得分:0)

让我看看我是否可以想到:)

也许一个例子可以帮助我:n = 1234我可以先除以1000并取整数部分:

M = Math.floor(n/1000) 

现在M为1现在我可以从n中删除1000 * M并继续:    n = n-1000 * M->所以现在n只有234。

之后:

   D = Math.floor(n/500)
   n = n-500*D

所以D是0,n仍然是234,因为234不包含任何500个版本。

所以没有:

   C = Math.floor(n/100)
   n = n-100*C

得出C为2,n为34。

以此类推:

   L = Math.floor(n/50)
   n = n-50*L

这使L为0,n为34。

然后:

   X = Math.floor(n/10)
   n = n-10*X

给出X为3而n为4。 最后

   I = n

所以现在:

   M=1
   D=0
   C=2
   L=0
   X=3
   I=4

所以您只需要做一个足够聪明的功能,就可以像这样打印它:

   "M CC XXX IV"

您完成了;)

PS,我希望这不是功课:D