How to convert an integer to Roman numerals in Pascal

1 Answer

0 votes
program IntegerToRoman;

function IntToRoman(num: Integer): String;
const
  Values: array[1..13] of Integer =
    (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1);
  Symbols: array[1..13] of String =
    ('M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I');
var
  i: Integer;
  roman: String;
begin
  roman := '';
  for i := 1 to 13 do
  begin
    while num >= Values[i] do
    begin
      num := num - Values[i];
      roman := roman + Symbols[i];
    end;
  end;
  IntToRoman := roman;
end;

begin
  WriteLn(IntToRoman(1994)); 
  WriteLn(IntToRoman(196));   
  WriteLn(IntToRoman(9));     
end.



(*
run:

MCMXCIV
CXCVI
IX

*)


 



answered Dec 1, 2025 by avibootz
...