<?php
function numberToRoman(int $integer): string {
static $conversions = [
1000 => 'M',
900 => 'CM',
500 => 'D',
400 => 'CD',
100 => 'C',
90 => 'XC',
50 => 'L',
40 => 'XL',
10 => 'X',
9 => 'IX',
5 => 'V',
4 => 'IV',
1 => 'I'
];
$romanString = '';
foreach ($conversions as $int => $roman) {
while ($integer >= $int) {
$romanString .= $roman;
$integer -= $int;
if (!$integer) {
break 2;
}
}
}
return $romanString;
}
echo numberToRoman(3333);
echo "\n---\n";
echo numberToRoman(5000);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- MMMCCCXXXIII
---
MMMMM
preferences:
123.9 ms | 402 KiB | 123 Q