Design a program to accept a positive integer from the keyboard and output the equivilant roman numerals.
My answer is based on my Roman Number Converter/Deconverter.
PHP:
<? // roman numbers and normal numbers $natural_roman = array(1000 => 'M', 500 => 'D', 100 => 'C', 50 => 'L', 10 => 'X', 5 => 'V', 1 => 'I'); // generate a random number $random = mt_rand(1, 1000); // show the number echo $random; // loop through each possible roman numeral while (list($key, $value) = each($natural_roman)) { // loop while that amount can be taken away from the total while ($random >= $key) { // take away from the total $random -= $key; // add this roman symbol to the string $rn .= $value; } } // shorten symbols $roman_symbols = str_replace( array('DCCCC', 'CCCC', 'LXXXX', 'XXXX', 'VIIII', 'IIII'), array('CM', 'CD', 'XC', 'XL', 'IX', 'IV'), $rn ); // show the roman equivilant echo ' is ' . $roman_symbols . ' in roman symbols';?>Which produces:
34 is XXXIV in roman symbols