我需要用块状代码做一个程序,将数字从阿拉伯数字翻译成罗马数字,最多 4000,但我不知道我做错了什么。
我只能使用函数、变量、数学和逻辑(附加的 html 代码)。谁能帮我解决这个问题,我将不胜感激;))
https://blockly-demo.appspot.com/static/demos/code/index.html#zq536j
我需要用块状代码做一个程序,将数字从阿拉伯数字翻译成罗马数字,最多 4000,但我不知道我做错了什么。
我只能使用函数、变量、数学和逻辑(附加的 html 代码)。谁能帮我解决这个问题,我将不胜感激;))
https://blockly-demo.appspot.com/static/demos/code/index.html#zq536j
让我看看我能不能想到点什么:)
也许一个例子可以帮助我: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