Посмотрим, смогу ли я что-нибудь придумать :)
Возможно, мне поможет пример: 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