Römische Zahlen
Dieses Script gibt eine eingebene arabische Zahl als römische
Zahl aus
|
Script: |
<?php
function arab2rom($a)
{
if (!is_numeric($a)
OR $a<=0
OR $a >
3999)
return "Diese
Zahl kann nicht konvertiert werden.";
$q =
array(1000 =>
'M',
500
=> 'D',
100
=> 'C',
50 =>
'L',
10 =>
'X',
5 =>
'V',
1 =>
'I',);
$x =
array ('DCCCC' =>
'CM',
'CCCC' =>
'CD',
'LXXXX'
=> 'XC',
'XXXX' =>
'XL',
'VIIII'
=> 'IX',
'IIII' =>
'IV',);
$r =
'';
foreach ($q
as $n =>
$s) {
$b
= floor($a
/ $n);
if ($b
> 0)
$r .= str_repeat($s,
$b);
$r
= strtr($r,
$x);
$a
= $a %
$n;
}
return $r;
}
printf ('<form
action="%s" method="POST">',
$_SERVER['SCRIPT_NAME']);
print ('<table><tr>');
printf ('<td><input
type="text" name="arab" value="%s"></td>',
$_REQUEST['arab']);
printf ('<td>%s</td>',
(isset($_REQUEST)
AND !empty($_REQUEST))
? arab2rom($_REQUEST['arab'])
: ' ');
print ('</tr><tr>');
print ('<td> </td><td><input
type="submit" name="cmd" value="OK"></td>');
print ('</tr></table>');
?>
|
|