Преобразование арабских цифр в римские

Другое   1 Ноябрь 2010  Автор статьи: admin 

Функция для преобразования арабских цифр в римские. Например число 123 будет преобразованно в «CXXIII».

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function IntToRoman(num: Cardinal): string;
const
Nvals = 13;
vals: array[1..Nvals] of word = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500,
900, 1000);
roms: array[1..Nvals] of string[2] = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L',
'XC', 'C', 'CD', 'D', 'CM', 'M');
var
b: 1..Nvals;
begin
result := '';
b := Nvals;
while num > 0 do
begin
while vals[b] > num do
dec(b);
dec(num, vals[b]);
result := result + roms[b]
end;
end;

Научиться программировать

  • на Delphi

  • на Java

  • на C++