Guest User

Untitled

a guest
Sep 1st, 2015
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.26 KB | None | 0 0
  1. <?php
  2.  
  3. function RomanicNumber($Number) {
  4.  
  5.   $table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1);
  6.   $return = '';
  7.   while($Number > 0) {
  8.     foreach($table as $rom => $arb) {
  9.    
  10.       if($Number >= $arb) {
  11.         $Number -= $arb;
  12.         $return .= $rom;
  13.         break;
  14.       }
  15.     }
  16.   }
  17.  
  18.   return $return;
  19.  
  20. }
  21.  
  22.  
  23.  
  24. $PerSymbol = 125;
  25. $Year = 0;
  26. $RomanicYear = '-';
  27.  
  28. // After build.
  29. $StonesLeft = 12500000;
  30. $StonesShort = 0;
  31.  
  32. while (true) {
  33.  
  34.   ++$Year;
  35.  
  36.   // We can't use broken stones, so floor.
  37.   if ((($Year - 1) % 43 == 0)) {
  38.     echo "Lost 15%\n";
  39.     $StonesLeft = floor($StonesLeft * 0.85);
  40.   }
  41.  
  42.   $NewRomanicYear = RomanicNumber($Year);
  43.  
  44.   // Times 2 because of loss.
  45.   $StonesNeeded = strlen($NewRomanicYear) * $PerSymbol * 2;
  46.  
  47.   $RomanicYear = $NewRomanicYear;
  48.  
  49.   if ($StonesLeft < $StonesNeeded) {
  50.     $StonesShort = $StonesNeeded - $StonesLeft;
  51.     break;
  52.   }
  53.  
  54.   $StonesLeft -= $StonesNeeded;
  55.  
  56.   echo $Year . ", " .$NewRomanicYear . ", Needed: " . $StonesNeeded . ", Left: " . $StonesLeft . "\n";
  57.  
  58.  
  59.  
  60. }
  61.  
  62. echo "-----------------------------------\n";
  63.  
  64. echo "Answer: " .$RomanicYear . ", " . $StonesShort;
  65.  
  66.  
  67. ?>
Advertisement
Add Comment
Please, Sign In to add comment