Advertisement
AlphaPenguino

Decimal to Roman

May 13th, 2024 (edited)
799
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.19 KB | None | 0 0
  1. <?php
  2.  
  3. $number = readline();
  4. $output = "";
  5. $romanDecimal[] = array("M"=>1000, "CM"=>900,"D"=>500,"CD"=>400,"C"=>100,"XC"=>90,"L"=>50,"LX"=>40,"X"=>10,"IX"=>9,"V"=>5,"IV"=>4,"I"=>1);
  6. //separate the numbers
  7.  
  8.  
  9. switch ($number) {
  10.     case ($number>=1000):
  11.         $thousands = $number/1000;
  12.         $multiplier = floor($thousands) * 1000;
  13.        
  14.         $number = $number - $multiplier;
  15.         //echo "M:" . floor($thousands) . "\n";
  16.         //echo "Remaining number: " . $number . "\n";
  17.        
  18.  
  19.     case ($number>=900):
  20.         $CM = $number/900;
  21.         $multiplier = floor($CM) * 900;
  22.        
  23.         $number = $number - $multiplier;
  24.         //echo "CM:" . floor($CM) . "\n";
  25.         //echo "Remaining number: " . $number . "\n";
  26.  
  27.     case ($number>=500):
  28.         $fhundred= $number/500;
  29.         $multiplier = floor($fhundred) * 500;
  30.        
  31.         $number = $number - $multiplier;
  32.         //echo "D:" . floor($fhundred) . "\n";
  33.         //echo "Remaining number: " . $number . "\n";
  34.  
  35.     case ($number>=400):
  36.         $CD= $number/400;
  37.         $multiplier = floor($CD) * 400;
  38.        
  39.         $number = $number - $multiplier;
  40.         //echo "CD:" . floor($CD) . "\n";
  41.         //echo "Remaining number: " . $number . "\n";
  42.  
  43.     case ($number>=100):
  44.         $hundred= $number/100;
  45.         $multiplier = floor($hundred) * 100;
  46.        
  47.         $number = $number - $multiplier;
  48.         //echo "C:" . floor($hundred) . "\n";
  49.         //echo "Remaining number: " . $number . "\n";
  50.        
  51.     case ($number>=90):
  52.         $XC = $number/90;
  53.         $multiplier = floor($XC) * 90;
  54.        
  55.         $number = $number - $multiplier;
  56.         //echo "XC:" . floor($XC) . "\n";
  57.         //echo "Remaining number: " . $number . "\n";
  58.  
  59.     case ($number>=50):
  60.         $fifty = $number/50;
  61.         $multiplier = floor($fifty) * 50;
  62.        
  63.         $number = $number - $multiplier;
  64.         //echo "L:" . floor($fifty) . "\n";
  65.         //echo "Remaining number: " . $number . "\n";
  66.     case ($number>=40):
  67.         $XL = $number/40;
  68.         $multiplier = floor($XL) * 40;
  69.        
  70.         $number = $number - $multiplier;
  71.         //echo "XL:" . floor($XL) . "\n";
  72.         //echo "Remaining number: " . $number . "\n";
  73.     case ($number>=10):
  74.         $tens = $number/10;
  75.         $multiplier = floor($tens) * 10;
  76.        
  77.         $number = $number - $multiplier;
  78.         //echo "X:" . floor($tens) . "\n";
  79.         //echo "Remaining number: " . $number . "\n";
  80.     case ($number>=9):
  81.         $IX = $number/9;
  82.         $multiplier = floor($IX) * 9;
  83.        
  84.         $number = $number - $multiplier;
  85.         //echo "IX:" . floor($IX) . "\n";
  86.         //echo "Remaining number: " . $number . "\n";
  87.     case ($number>=5):
  88.         $five = $number/5;
  89.         $multiplier = floor($five) * 5;
  90.        
  91.         $number = $number - $multiplier;
  92.         //echo "V:" . floor($five) . "\n";
  93.         //echo "Remaining number: " . $number . "\n";
  94.     case ($number>=4):
  95.         $IV = $number/4;
  96.         $multiplier = floor($IV) * 4;
  97.        
  98.         $number = $number - $multiplier;
  99.         //echo "IV:" . floor($IV) . "\n";
  100.         //echo "Remaining number: " . $number . "\n";
  101.     case ($number>=1):
  102.         $one = $number/1;
  103.         $multiplier = floor($one) * 1;
  104.        
  105.         $number = $number - $multiplier;
  106.         //echo "I:" . floor($one) . "\n";
  107.         //echo "Remaining number: " . $number . "\n";
  108.  
  109. }
  110.  
  111. for ($i=0;$i<floor($thousands);$i++) {
  112.     $output.= "M";
  113. }
  114. for ($i=0;$i<floor($CM);$i++) {
  115.     $output.= "CM";
  116. }
  117. for ($i=0;$i<floor($fhundred);$i++) {
  118.     $output.= "D";
  119. }
  120. for ($i=0;$i<floor($CD);$i++) {
  121.     $output.= "CD";
  122. }
  123. for ($i=0;$i<floor($hundred);$i++) {
  124.     $output.= "C";
  125. }
  126. for ($i=0;$i<floor($XC);$i++) {
  127.     $output.= "XC";
  128. }
  129. for ($i=0;$i<floor($fifty);$i++) {
  130.     $output.= "L";
  131. }
  132. for ($i=0;$i<floor($XL);$i++) {
  133.     $output.= "XL";
  134. }
  135. for ($i=0;$i<floor($tens);$i++) {
  136.     $output.= "X";
  137. }
  138. for ($i=0;$i<floor($IX);$i++) {
  139.     $output.= "IX";
  140. }
  141. for ($i=0;$i<floor($five);$i++) {
  142.     $output.= "V";
  143. }
  144. for ($i=0;$i<floor($IV);$i++) {
  145.     $output.= "IV";
  146. }
  147. for ($i=0;$i<floor($one);$i++) {
  148.     $output.= "I";
  149. }
  150. echo $output;
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement