0

我需要用块状代码做一个程序,将数字从阿拉伯数字翻译成罗马数字,最多 4000,但我不知道我做错了什么。

我只能使用函数、变量、数学和逻辑(附加的 html 代码)。谁能帮我解决这个问题,我将不胜感激;))

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

4

1 回答 1

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-eds。

所以没有:

   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

于 2019-02-26T18:58:49.897 回答