Блочный код для перевода чисел в романский язык

Мне нужно сделать программу в блочном коде для перевода чисел с арабского на римский до 4000, но я не знаю, что я делаю неправильно.

Я могу использовать только функции, переменные, математику и логику (прикрепленный HTML-код). кто может помочь мне с этим, пожалуйста, я буду благодарен;))

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


person Miguel Ángel Oliveira lourido    schedule 25.11.2017    source источник
comment
Это очень широкий и неизученный вопрос. Пожалуйста, расскажите нам, что вы пробовали, что сработало, а что нет. Также прочитайте stackoverflow.com/help/how-to-ask.   -  person Umang Gupta    schedule 25.11.2017
comment
привет, я пробовал разные способы, но я не знаю, как найти решение :( спасибо   -  person Miguel Ángel Oliveira lourido    schedule 26.11.2017


Ответы (1)


Посмотрим, смогу ли я что-нибудь придумать :)

Возможно, мне поможет пример: n = 1234 Я могу начать с деления на 1000 и взять целую часть:

M = Math.floor(n/1000) 

теперь M равно 1 Теперь я могу удалить 1000*M из n и продолжить: n = n-1000*M -> так что теперь n равно только 234.

После того:

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

поэтому D равно 0, а n по-прежнему равно 234, потому что 234 не содержит 500-ed.

А так нет:

   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

person Andrea Valente    schedule 26.02.2019