Как преобразовать числовое значение в римскую
интерпретацию.
Компилятор: Delphi
function DecToRoman(intDecimal: longint): string;
const
arrRomans: array [1..13] of String = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L',
'XC', 'C', 'CD', 'D', 'CM', 'M');
arrArabics: array [1..13] of integer = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400,
500, 900, 1000);
var
i: integer;
begin
// инициализируем результат
result := '';
for i := 13 downto 1 do
while ( iDecimal >= aArabics [ i ] )
do begin
iDecimal
:= iDecimal - aArabics [ i ];
result
:= result + aRomans [ i ];
end;
end;
|