【问题标题】:Blockly code for translate numbers roman用于翻译罗马数字的块代码
【发布时间】:2017-11-25 17:41:26
【问题描述】:

我需要用块状代码编写一个程序,将数字从 arabigos 转换为 roman 最多 4000,但我不知道我做错了什么。

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

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

【问题讨论】:

  • 这是一个非常广泛且未经研究的问题。请告诉我们你尝试了什么,什么有效,什么无效。另外,请阅读stackoverflow.com/help/how-to-ask
  • 你好,我尝试了不同的方法,但我不知道如何解决:(谢谢

标签: blockly


【解决方案1】:

让我看看我能不能想到点什么:)

也许一个例子可以帮助我: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

【讨论】:

    猜你喜欢
    • 2015-03-13
    • 2020-12-28
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    相关资源
    最近更新 更多