PascalABC.NET 3.4
begin
var m:=ReadInteger('Введите натуральное число не более 3999:');
if not m.Between(1,3999) then Writeln('Недопустимое значение')
else
begin
Write(m,' = ');
var ar:array of string:=
('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I');
var aa:=Arr(1000,900,500,400,100,90,50,40,10,9,5,4,1);
var n:=0;
var s:string:='';
while m>0 do
begin
while aa[n]<=m do<br> begin
s+=ar[n];
m-=aa[n];
end;
n+=1
end;
Writeln(s)
end
end.